Insérer une entrée via une variable JS
Bonjour à tous!
Je fais des tests sur WAMP, je code en PHP serveur Apache et BDD MySQL et j'ai une question au sujet d'un INSERT dans une BDD:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <?php
//On essaie de se connecter à ma base de données 'test2'
try{
$bdd = new PDO('mysql:host=localhost;dbname=test2;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
//On insère des balises SCRIPT pour pouvoir utiliser un Prompt
echo "<script type='text/javascript'>
var c = prompt('Contenu?');
var t = prompt('Titre?');
</script>";
//On récupère les valeurs des variables JS dans des variables PHP, et les valeurs sont bien récupérées
$contenu = "<script type='text/javascript'> document.write(c); </script>";
$titre = "<script type='text/javascript'> document.write(t); </script>";
//On prépare une requête pour insérer les valeurs des variables PHP des entrées souhaitées dans la table new
$req = $bdd->prepare('INSERT INTO new(Contenu, Titre) VALUES(:contenu, :titre)');
$req->execute(array('contenu' => $contenu, 'titre' => $titre));
//On affiche chaque entrée de la table avant de fermer le curseur de requête
$reponse = $bdd->query('SELECT * FROM new');
while ($donnees = $reponse->fetch()){
echo $donnees['ID'].$donnees['Titre'].$donnees['Contenu']."<br/>";
}
$reponse->closeCursor(); |
Voici mon problème: Les variables récupérées du Prompt sont correctes MAIS quand j'affiche ma table après y avoir inséré une ligne, toutes les entrées sont devenues identiques à la dernière que j'ai choisie via ces deux prompts! Pourquoi svp?
Je précise que lorsque je remplace:
Code:
1 2 3 4 5 6 7 8
| //Utiliser Prompt avec JS
echo "<script type='text/javascript'>
var c = prompt('Contenu?');
var t = prompt('Titre?');
</script>";
$contenu = "<script type='text/javascript'> document.write(c); </script>";
$titre = "<script type='text/javascript'> document.write(t); </script>"; |
Par:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<form action="test.php" method="post">
<input type="text" name="contenu"></input>
<input type="text" name="titre"></input>
<input type="submit" name="ok"></input>
</form>
<?php
//Utiliser un formulaire
if(isset($_POST['ok'])){
.....
$contenu = $_POST['contenu'];
$titre = $_POST['titre'];
.....
}
?> |
Cela fonctionne mais je vous demande ici pourquoi cela ne fonctionne pas comme je le souhaite avec JS mais me remplace chaque entrée.
Merci d'avance pour votre considération :)