UPDATE ne se fait pas

Résolu
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   -  
 le père -
Bonjour,

j'ai fais plusieurs tests et recherches et je n'arrive pas à mettre le doigt sur le bobo.

J'ai ce code:
if (isset($_POST['modifier_sql']))
{
$id = $_POST['id2'];
$nom_upd = addslashes($_POST['nom2']);
$categorie_upd = addslashes($_POST['categorie2']);
$url_upd = addslashes($_POST['url2']);
mysql_query("UPDATE adresses SET nom='$nom_upd',
                                 categorie='$categorie_upd',url='$url_upd' WHERE id='$id'");
echo '<font color="red">Modification terminé !! </font><br /><br />';
}


Le problème est que l'update ne se fait pas. Pourtant si je fais un ajout ou que je veux supprimer tout est ok.

C'est surement pas grand chose mais malheureusement je ne trouve pas.

Merci d'avance pour votre aide.


A voir également:

9 réponses

le père
 
Bonjour

Est-ce que ça affiche Modification terminé !! ?
Peux-tu faire, juste avant le bout de code que tu nous montres, un print_r($_POST); pour voir ce qu'il y a réellement dans ce que tu reçois ?
et aussi ajouter un or die(mysql_error()) à ta requête pour voir s'il y a une erreur
mysql_query("UPDATE adresses SET nom='$nom_upd',  
                                 categorie='$categorie_upd',url='$url_upd' WHERE id='$id'") or die (mysql_error());
0
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
Salut et merci de regarder mon cas ;)

un print_r[$_POST];

donne
Array ( [id2] => [nom2] => ment [categorie2] => art [url2] => vision [modifier_sql] => Modifier )


ça correspond à mes changements
0
le père
 
C'est normal que id2 soit vide ?
0
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
Pourtant il devrait passer

voici le code de mon formulaire:
if (isset($_GET['modifier']) AND $_GET['modifier'] == 'ok')
    {
    $id = $_GET['id'];
    $q = mysql_query("SELECT * FROM adresses WHERE id = $id");
    $r = mysql_fetch_array($q);

?>
Modifier l'entrée avec l'id : <?php echo $id;?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<input type="hidden" name="id2" value="<? echo $id; ?>">
<br />
<table width="780" border="0" cellpadding="0">
<tr>
    <td><strong>Nom du site</strong></td>
    <td><input type="text" name="nom2" size="98" value="<?php echo stripslashes($r['nom']);?>"></td>
  </tr>
  <tr>
  	<td><strong>Catégorie</strong></td>
    <td><input type="text" name="categorie2" size="98" value="<?php echo stripslashes($r['categorie']);?>"></td>
  </tr>
  <tr>
  	<td><strong>Adresse du site</strong></td>
    <td><input type="text" name="url2" size="98" value="<?php echo stripslashes($r['url']);?>"></td>
  </tr>
 </table>
<input type="submit" name="modifier_sql" size="98"value="Modifier">
</form>
<a href="/admin/admin.php">Revenir à la page d'administration</a>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le père
 
La question est maintenant déplacée (si j'ose dire ^^)
$_GET['id'] est-il bien défini quand tu invoques ton formulaire ?
0
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
oui il sort le bon id
0
le père
 
Vu
<? echo $id; ?> ça ne marche pas si ton PHP n'est pas configuré pour les balises courtes. il faut <?php
0
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
ahhh mais oui, je n'avais pas pensé à cela.

Merci beaucoup d'avoir prit le temps de m'aider. Avec ce que je voyais, mon code était bon sauf cette petite erreur.

Merci encore
0
le père
 
De rien

Bon week-end
0