Pas de modification dans ma base
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...
- <?php
- if (isset($_POST['go']) && $_POST['go']=='Modifier le livre')
- {
- require('connect.php');
- 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'])) {
- $erreur = 'Les variables nécessaires au script ne sont pas définies.';
- }
- else {
- if (empty($_POST['siecle']) || empty($_POST['titre']) || empty($_POST['nb_pages'])) {
- $erreur = 'Au moins un des champs est vide.';
- }
- else {
- $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'].'"';
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
- mysql_close();
- header('Location:liste_livres.php');
- exit();
- }
- }
- }
- ?>
- <html>
- <head>
- <title>Modifier un livre</title>
- <?php
- require 'connect.php';
- $result = mysql_query ('SELECT * from livres WHERE id="'.$_GET['id_livre_a_modif'].'"');
- while ($data = mysql_fetch_array ($result))
- { ?>
- <form action="modif_livre.php" method="post">
- <table>
- <tr>
- <td class="gras">Siécle* : </td>
- <td><select name="siecle" >
- <option ><?php echo($data['siecle']); ?></option>
- <option ></option>
- <option value="Moyen Age" >M. Age</option>
- <option value="XVI">XVI</option>
- <option value="XVII">XVII</option>
- <option value="XVIII">XVIII</option>
- <option value="XIX">XIX</option>
- <option value="XX">XX</option>
- </select></td>
- </tr>
- <tr>
- <td class="gras">Genre : </td>
- <td><select name="genre" id="list_G" disabled>
- <option><?php echo($data['genre']); ?></option>
- <option ></option>
- <option>ÉPOPEE</option>
- <option>ROMAN</option>
- <option>CHRONIQUES</option>
- <option>CONTES</option>
- <option>FABLIAUX</option>
- <option>POESIE</option>
- <option>THEATRE</option>
- <option>DIVERS</option>
- <option>CRITIQUES LITTERAIRES</option>
- <option>CRITIQUES GENERALES</option>
- <option>ANCIEN FRANCAIS</option>
- </select>
- </td>
- </tr>
- <tr>
- <td class="gras">Cote :</td>
- <td><input type="text" name="cote" maxlength="50" size="50" value="<?php echo($data['cote']); ?>"></td>
- </tr>
- <tr>
- <td class="gras">Auteur :</td>
- <td><input type="text" name="auteur" maxlength="50" size="50" value="<?php echo($data['auteur']); ?>"></td>
- </tr>
- <tr>
- <td class="gras">Titre* :</td>
- <td><textarea name="titre" cols="38" rows="4"><?php echo($data['titre']); ?></textarea></td>
- </tr>
- <tr>
- <td class="gras">Critique :</td>
- <td><input type="text" name="critique" maxlength="50" size="50" value="<?php echo($data['critique']); ?>"></td>
- </tr>
- <tr>
- <td class="gras">Maison d’édition : </td>
- <td><input type="text" name="maison_edition" maxlength="50" size="50" value="<?php echo($data['maison_edition']); ?>"></td>
- </tr>
- <tr>
- <td class="gras">Lieu d’édition :</td>
- <td><input type="text" name="lieu_edition" maxlength="50" size="50" value="<?php echo($data['lieu_edition']); ?>"></td>
- </tr>
- <tr>
- <td class="gras">Collection :</td>
- <td><input type="text" name="collection" maxlength="50" size="50" value="<?php echo($data['collection']); ?>"></td>
- </tr>
- <tr>
- <td class="gras">Année d’édition :</td>
- <td><input type="text" name="annee_edition" maxlength="4" size="50" value="<?php echo($data['annee_edition']); ?>" ></td>
- </tr>
- <tr>
- <td class="gras">Nombre de pages* : </td>
- <td><input type="text" name="nb_pages" maxlength="8" size="50" value="<?php echo($data['nb_pages']); ?>" ></td>
- </tr>
- <tr>
- <td class="gras">Mots Clés :</td>
- <td><textarea name="mots_cles" cols="38" rows="4"><?php echo($data['mots_cles']); ?></textarea></td>
- </tr>
- <tr>
- <td>
- <td align="right"><br><input type="submit" name="go" value="Modifier le livre"></td>
- </tr>
- </table>
- </form>
- <?php
- }
- if (isset($erreur)) echo '<br /><br />',$erreur;
- ?>
- </body>
- </html>
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".
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".
Il manque aussi des mysql_escape_string (c'est le minimum syndical en terme de sécurité).
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...
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...
Est ce que ta requete de modification se lance ?
la requête se lance mais pas de modification dans ma base de donnée
Accès rapide :
Remonter 

