Pas de modification dans ma base

Répondre
BIO
BIO
Déconnecté
c'est ma page de modification mais la modification au niveau de la base de donnée ne se fait pas correctement et il y a quelque part une erreur que je ne le vois pas. quelqu'un peux m'aider...

  1. <?php
  2. if (isset($_POST['go']) && $_POST['go']=='Modifier le livre')  
  3. {  
  4. require('connect.php');  
  5.  
  6. if (!isset($_POST['siecle'])|| !isset($_POST['cote']) || !isset($_POST['auteur'])|| !isset($_POST['titre'])|| !isset($_POST['critique'])|| !isset($_POST['maison_edition'])|| !isset($_POST['lieu_edition'])|| !isset($_POST['collection'])|| !isset($_POST['annee_edition'])|| !isset($_POST['nb_pages'])|| !isset($_POST['mots_cles'])) {  
  7. $erreur = 'Les variables nécessaires au script ne sont pas définies.';  
  8. }  
  9. else {  
  10. if (empty($_POST['siecle']) || empty($_POST['titre']) || empty($_POST['nb_pages'])) {  
  11. $erreur = 'Au moins un des champs est vide.';  
  12. } 
  13.    else { 
  14.        $sql = 'UPDATE livres SET siecle="'.$_POST['siecle'].'", genre="'.$_POST['genre'].'", cote="'.$_POST['cote'].'", auteur="'.$_POST['auteur'].'", titre="'.$_POST['titre'].'", critique="'.$_POST['critique'].'", maison_edition="'.$_POST['maison_edition'].'", lieu_edition="'.$_POST['lieu_edition'].'", collection="'.$_POST['collection'].'", annee_edition="'.$_POST['annee_edition'].'", nb_pages="'.$_POST['nb_pages'].'", mots_cles="'.$_POST['mots_cles'].'" WHERE id="'.$_GET['id_livre_a_modif'].'"'; 
  15.       
  16. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
  17.       
  18. mysql_close(); 
  19.       
  20.       header('Location:liste_livres.php');  
  21. exit();  
  22. }  
  23. }  
  24. }  
  25. ?>
  26. <html>
  27. <head>
  28. <title>Modifier un livre</title>
  29.  
  30.  
  31. <?php
  32. require 'connect.php';  
  33. $result = mysql_query ('SELECT * from livres WHERE id="'.$_GET['id_livre_a_modif'].'"');  
  34. while ($data = mysql_fetch_array ($result))  
  35. { ?>
  36. <form action="modif_livre.php" method="post">
  37. <table>
  38. <tr>
  39.    <td class="gras">Si&eacute;cle* : </td>
  40. <td><select name="siecle" >
  41. <option ><?php echo($data['siecle']); ?></option>
  42. <option ></option>
  43. <option value="Moyen Age" >M. Age</option>
  44. <option value="XVI">XVI</option>
  45. <option value="XVII">XVII</option>
  46. <option value="XVIII">XVIII</option>
  47. <option value="XIX">XIX</option>
  48. <option value="XX">XX</option>
  49. </select></td>
  50. </tr>
  51. <tr> 
  52.    <td class="gras">Genre : </td>
  53. <td><select name="genre" id="list_G" disabled>
  54. <option><?php echo($data['genre']); ?></option>
  55. <option ></option>
  56. <option>&Eacute;POPEE</option>
  57. <option>ROMAN</option>
  58. <option>CHRONIQUES</option>
  59. <option>CONTES</option>
  60. <option>FABLIAUX</option>
  61. <option>POESIE</option>
  62. <option>THEATRE</option>
  63. <option>DIVERS</option>
  64. <option>CRITIQUES&nbsp;LITTERAIRES</option>
  65. <option>CRITIQUES&nbsp;GENERALES</option>
  66. <option>ANCIEN&nbsp;FRANCAIS</option>
  67. </select>
  68. </td>
  69. </tr>
  70. <tr>
  71.    <td class="gras">Cote :</td>
  72. <td><input type="text" name="cote" maxlength="50" size="50" value="<?php echo($data['cote']); ?>"></td>
  73. </tr>
  74. <tr>
  75.    <td class="gras">Auteur :</td>
  76. <td><input type="text" name="auteur" maxlength="50" size="50" value="<?php echo($data['auteur']); ?>"></td>
  77. </tr>
  78. <tr>
  79.    <td class="gras">Titre* :</td>
  80. <td><textarea name="titre" cols="38" rows="4"><?php echo($data['titre']); ?></textarea></td>
  81. </tr>
  82. <tr>
  83.    <td class="gras">Critique :</td>
  84. <td><input type="text" name="critique" maxlength="50" size="50" value="<?php echo($data['critique']); ?>"></td>
  85. </tr>
  86. <tr>
  87.    <td class="gras">Maison d&#8217;&eacute;dition : </td>
  88. <td><input type="text" name="maison_edition" maxlength="50" size="50" value="<?php echo($data['maison_edition']); ?>"></td>
  89. </tr>
  90. <tr>
  91.    <td class="gras">Lieu d&#8217;&eacute;dition :</td>
  92. <td><input type="text" name="lieu_edition" maxlength="50" size="50" value="<?php echo($data['lieu_edition']); ?>"></td>
  93. </tr>
  94. <tr>
  95.    <td class="gras">Collection :</td>
  96. <td><input type="text" name="collection" maxlength="50" size="50" value="<?php echo($data['collection']); ?>"></td>
  97. </tr>
  98. <tr>
  99.    <td class="gras">Ann&eacute;e d&#8217;&eacute;dition :</td>
  100. <td><input type="text" name="annee_edition" maxlength="4" size="50" value="<?php echo($data['annee_edition']); ?>" ></td>
  101. </tr>
  102. <tr>
  103.    <td class="gras">Nombre de pages* : </td>
  104. <td><input type="text" name="nb_pages" maxlength="8" size="50" value="<?php echo($data['nb_pages']); ?>" ></td>
  105. </tr>
  106. <tr>
  107.    <td class="gras">Mots Cl&eacute;s :</td>
  108. <td><textarea name="mots_cles" cols="38" rows="4"><?php echo($data['mots_cles']); ?></textarea></td>
  109. </tr>
  110. <tr>
  111.    <td>
  112. <td align="right"><br><input type="submit" name="go" value="Modifier le livre"></td>
  113. </tr>
  114. </table>
  115. </form>
  116. <?php
  117. }  
  118. if (isset($erreur)) echo '<br /><br />',$erreur;  
  119. ?>
  120. </body>
  121. </html>
  122.  
Amery
Amery
Déconnecté
Salut,

il me semble que lorsque tu envoies ton fomulaire, tu n'indiques pas la valeur de ta variable id_livre_a_modif. Il faut rajouter quelque part sa valeur dans ton formulaire en utilisant, par exemple,
<input type="hidden" name="id_livre_a_modif" value="<? echo $id_livre_a_modif; ?> />

Et ensuite récupérer sa valeur avec $_POST[], puisque dans ton <form> tu as method="post".
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Il manque aussi des mysql_escape_string (c'est le minimum syndical en terme de sécurité).
BIO
BIO
Déconnecté
Salut,

Dans une autre page j'ai la liste de mes livres avec un lien de modification qui me présente les données correcte de l'enregistrement voulu(page présenté); mais au moment où je termine la modification et je clique sur le bouton "modifier le livre" la modification au niveau de ma base ne se réalise pas...
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Est ce que ta requete de modification se lance ?
BIO
BIO
Déconnecté
la requête se lance mais pas de modification dans ma base de donnée
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog