Salut
Je débute en PHP (en cours d'apprentissage pour le plaisir), je connais moyennement HTML, JavaScript et CSS.
Mon code PHP page Index.php
Mon code PHP page Ajout_Modif_Supp_billet.php
Code html : 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Mini-Blog</title> <link href="style.css" rel="stylesheet" /> </head> <body class="index"> <h1>Mon premier blog !</h1> <p><a href="Ajout_Modif_Supp_billet.php?id=0" >Ajouter un billet</a></p> <p>Derniers billets du blog :</p> <?php // Connexion à la base de données try{$bdd = new PDO('mysql:host=localhost;dbname=bdtest;charset=utf8', 'root', '');} catch(Exception $e){die('Erreur : '.$e->getMessage());} // On récupère les 5 derniers billets $req = $bdd->query('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets ORDER BY date_creation DESC LIMIT 0, 5'); while ($donnees = $req->fetch()) { ?> <form action="Ajout_Modif_Supp_billet.php" method="post" class="news"> <!-- pour passer id du billet --> <input type="text" name="id" value="<?php echo $donnees['id']; ?>" style="display:none" /> <h3> <?php echo htmlspecialchars($donnees['titre']); ?> <em>le <?php echo $donnees['date_creation_fr']; ?></em> <input type="submit" style="position:relative; left:5%;" value="Modif/Supp" /> </h3> <p> <?php // On affiche le contenu du billet, nl2br() permet de convertir les retours à la ligne en balises HTML<br />. echo nl2br(htmlspecialchars($donnees['contenu'])); ?> <br /> <em><a href="commentaires.php?billet=<?php echo $donnees['id']; ?>">Commentaires</a></em> </p> </form> <?php } // Fin de la boucle des billets $req->closeCursor(); ?> </body> </html>
Ma problématique:
Code html : 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 <!DOCTYPE html> <html><!-- Ajout_Modif_Supp_billet.php --> <head> <meta charset="utf-8" /> <title>Mini-Blog</title> <link href="style.css" rel="stylesheet" /> </head> <body> <?php if ($_GET['id'] == '0') { //$ajout = true; $donnees['id'] = ''; $donnees['date_creation'] = date('Y-m-d H:i:s'); $donnees['date_creation_fr'] = ''; $donnees['titre'] = ''; $donnees['contenu'] = ''; ?> <h1>Ajouter billet</h1> <p><a href="index.php">Retour à la liste des billets</a></p> <script> ajout=true </script> <?php }else{ ?> <h1>Modifier ou supprimer un billet</h1> <p><a href="index.php">Retour à la liste des billets</a></p> <?php //Connexion à la base de données try{$bdd = new PDO('mysql:host=localhost;dbname=bdtest;charset=utf8', 'root', '');} catch(Exception $e){die('Erreur : '.$e->getMessage());} //recuperation de la ligne d'enregistrement $req = $bdd->prepare('SELECT id, titre, contenu, date_creation, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM billets where id= ?'); $req->execute(array($_POST['id'])); $donnees = $req->fetch(); $req->closeCursor();// Important : on libère le curseur pour la prochaine requête } ?> <form action="Enr_Ajout_Modif_Supp_billet.php" method="post" class="CntQuest"> <strong>N° id du billet </strong><input type="text" name="id" id="id" style="width:25px" value="<?php echo $donnees['id']; ?>"/> <strong>Date </strong><input type="text" name="date_creation" id = "date_creation" value="<?php echo $donnees['date_creation']; ?>"/> <span> <?php echo $donnees['date_creation_fr']; ?></span> <br /> <strong>titre </strong><input type="text" name="titre" style="width:460px" value="<?php echo $donnees['titre']; ?>"/> <br /> <strong>Contenu du billet</strong><br /><textarea id="quoi" name="contenu" class="quoi"><?php echo $donnees['contenu']; ?></textarea> <input type="radio" name="typeaction" value="Suppr" id="Suppr"/><label for="Suppr" id="LSuppr">Supprimer</label> <input type="radio" name="typeaction" value="Modif" id="Modif" checked /><label for="Modif" id="LModif">Modifier</label> <input type="radio" name="typeaction" value="Ajout" id="Ajout" /><label for="Ajout" id="LAjout">Ajouter</label> <input type="submit" value="Valider mon action" /> <script> if (ajout === true) { document.getElementById('id').disabled = 'disabled'; document.getElementById('date_creation').disabled = 'disabled'; document.getElementById('Suppr').style.display = 'none'; document.getElementById('Modif').style.display = 'none'; document.getElementById('Ajout').style.display = 'none'; document.getElementById('Ajout').setAttribute("checked", "checked"); document.getElementById('LSuppr').style.display = 'none'; document.getElementById('LModif').style.display = 'none'; document.getElementById('id').value = 'Auto'; } </script> </form> </body> </html>
l'appel de la page Ajout_Modif_Supp_billet.php par la ligne 10 dans la page index.phpfonctionne correctement ainsi que la page d'enregistrement Enr_Ajout_Modif_Supp_billet.php qui suit.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <p><a href="Ajout_Modif_Supp_billet.php?id=0" >Ajouter un billet</a></p>
MAIS ................. ben quand je fait appel en cliquant sur un bouton Modif/Supp ligne 28 de la page index.php, j'ai un message d'erreur dans la page Ajout_Modif_Supp_billet.php à la ligne 11
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <input type="submit" style="position:relative; left:5%;" value="Modif/Supp" />
erreur signalée
Code html : Sélectionner tout - Visualiser dans une fenêtre à part if ($_GET['id'] == '0')Cette ligne j'ai essayé une condition if isset($_GET) et/ou isset($_POST) toujours une ou plusieurs erreurs.Notice: Undefined index: id in C:\wamp64\www\tests1\Ajout_Modif_Supp_billet.php on line 11
Toutes ses erreurs ne plantent pas le programme, la suite modification ajout suppression fonctionne.
Ma question, comment traiter la différence d'appel (par $_GET et $_POST) en arrivant dans la page Ajout_Modif_Supp_billet.php
Merci
Partager