Pas de modification dans ma base

Répondre
BIO
le 08/09/2008 à 16:52
BIO
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&eacute;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>&Eacute;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&nbsp;LITTERAIRES</option>
<option>CRITIQUES&nbsp;GENERALES</option>
<option>ANCIEN&nbsp;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&#8217;&eacute;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&#8217;&eacute;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&eacute;e d&#8217;&eacute;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&eacute;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>
Amery
le 08/09/2008 à 17:03
Amery
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".
BIO
le 09/09/2008 à 18:12
BIO
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...
BIO
le 12/09/2008 à 14:45
BIO
la requête se lance mais pas de modification dans ma base de donnée
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours