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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>";
Cela fonctionne mais je vous demande ici pourquoi cela ne fonctionne pas comme je le souhaite avec JS mais me remplace chaque entrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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']; ..... } ?>
Merci d'avance pour votre considération![]()
Partager