UPDATE ne se fait pas

Résolu
Ricky38 Messages postés 5776 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.



--
Tout problème a une solution...il faut juste être persévérant.

9 réponses

  1. 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
  2. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    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
  3. le père
     
    C'est normal que id2 soit vide ?
    0
  4. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    oui il sort le bon id
    0
  8. 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
  9. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    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