UPDATE ne se fait pas

Résolu/Fermé
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - 2 juil. 2011 à 15:32
 le père - 2 juil. 2011 à 18:36
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

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 samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
2 juil. 2011 à 18:01
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
C'est normal que id2 soit vide ?
0
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
2 juil. 2011 à 18:10
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
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 samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
2 juil. 2011 à 18:20
oui il sort le bon id
0
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 samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
2 juil. 2011 à 18:31
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
De rien

Bon week-end
0