IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

UPDATE qui ne fonctionne pas


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut UPDATE qui ne fonctionne pas
    salut tout le monde,

    j'éssai d'éxécuter ma requète de mise à jour mais rien ne s'affiche

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
     
    if (isset($_POST["update"]))
    {
    $id = $_POST['update'];
     
    $modify="UPDATE hd_utilisateur SET nom='$nom2', prenom ='$prénom2', email ='$email2', username='$login2', passwd='$passwd2', telephone='$num_téléphone2', user_mobile='$num_portable2' , poste_interne='$poste_interne2', fax ='$fax2', adresse='$adresse2', profession='$profession2', fk_division='$fk_division2' 
    WHERE 'id_user' ='$id' LIMIT 1;";
    echo $modify;
    if (mysql_query($modify)) 
    {$msg = "Your property <b>".$nom."</b> has been updated! Click <a href='gestion_user.php?id_user=$id'>here</a> to view your property.";
     
    echo ($msg);
    }
    else die(mysql_error());
     
     
    }  
     
     
    ?>
    <form  method="post"  action="<?php echo $_SERVER['PHP_SELF']; ?>" name="adminForm">
     
    <td>
    			          <a class="toolbar" href=<?php echo "edit_user.php?operation=modify&id_user=$id"?>>
    			            <input type='submit' name='modify' value='' class='bt_modify' />
    			            Appliquer
    			          </a>
    			            <input name="operation" type="hidden" value="modify">
    			                 </td>
     
     
     
    <?php
     
    if (isset($_POST["edit"]))
    {
    if (!isset($_POST["cid"])) 
    	{
        echo"Vous devez cocher au moins une case  !";
        echo'</br>';
        echo '<a href="gestion_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>    ';
    	exit();
        }
     
       // on créé une liste des id 
       $ids = implode(",",$_POST["cid"]);
       $affiche= mysql_query("select * from hd_utilisateur where id_user IN ($ids)") or die(mysql_error()); 
      //echo "je suis passé au point x<br />"; 
     // $object=mysql_fetch_array($affiche);
      // On fait une boucle pour lister tout ce que contient la table :
     
     
     
    while ($object=mysql_fetch_array($affiche))
    {
     
            $id      = $object['id_user'];
            $nom     = $object['nom'];
            $prénom  = $object['prenom'] ;
            $email  = $object['email'] ;
            $login   = $object['username'] ;
            $passwd  =$object['passwd']; //md5 sha1
    	    $num_téléphone =$object['telephone'] ;
            $num_portable  = $object['user_mobile'] ;
            $poste_interne  = $object['poste_interne'] ;
            $fax  = $object['fax'] ;
            $adresse  =$object['adresse'] ;
            $fk_division= $object['fk_division'] ; 
            $profession= $object['profession'] ;
            $result = db_connect();
    		if (!$result)
                       die(mysql_error());
     
         // selection de la base de données 
            $select  = mysql_select_db($dbName,$result);
            if (!$select)
            die(mysql_error());
     
    		$Result= mysql_query("Select * from hd_division") or die(mysql_error());
     
    	    $nb = mysql_num_rows($Result); 
     
    		 $ListDir = '<option value="0">Toutes Divisions</option>'; 
    while ($tmpObject = mysql_fetch_array($Result)) //tant qu'il y a des centres de cout, on les affiche
    {
     
    if  ($fk_division== $tmpObject["id_division"])
            {
    		    $ListDir .= '<option value="'.$tmpObject["id_division"] .'" selected= "selected">'.$tmpObject["division"] .'</option>';
            }
      else
            {
                $ListDir .= '<option value="'.$tmpObject["id_division"] .'">'.$tmpObject["division"] .'</option>';
            }
     
    }
     
     
    		echo"<table width=\"100%\"><tr>
    		<td width=\"60%\" valign=\"top\">
    		<table class=\"adminform\">
    		<tr><th colspan=\"2\">Détails utilisateur	</th></tr>";
    		 echo "<input type='hidden' name='update' value=$object->id_user/>";
    		echo" <tr><td width=\"25%\">Nom :</td>
    		<td><input type=\"text\" name=\"nom\" class=\"inputbox\" size=\"40\" value=\"$nom\"></td><tr>\n";
    		echo"<tr><td>Pr&eacute;nom :</td><td>
    		<input type=\"text\" name=\"prénom\" class=\"inputbox\" size=\"40\" value=\"$prénom\"></td>";
    		echo"<tr>
                <td>Adresse E-mail : </td>
    		    <td><input type=\"text\" name=\"email\" class=\"inputbox\" size=\"40\" value=\"$email\"></td></tr>";
    		echo"<tr>		 
    				  <td>Login*  :</td>
    				  <td colspan=\"5\"><input type=\"text\" name=\"login\" class=\"inputbox\" size=\"40\"  maxlength=\"50\" value=\"$login\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td>Mot de passe : </td>
    				  <td><input class=\"inputbox\" type=\"password\" name=\"passwd\" size=\"40\"></td>
    			</tr>";
     
    		echo"<tr>		 
                      <td>Numero de téléphone : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"telephone\" size=\"40\" value=\"     $num_téléphone\"></td>
    		    </tr>";
    	   echo"<tr>		 
                      <td>Numero de portable : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"user_mobile\" size=\"40\" value=\"$num_portable\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td>Poste interne :</td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"poste_interne\" size=\"40\" value=\"$poste_interne\"></td>
    		    </tr>";
    		echo"<tr>		 
                      <td>Fax : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"fax\" size=\"40\" value=\"$fax\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td valign=\"top\">Adresse : </td>
    				  <td>
                        <textarea cols=\"60\" rows=\"10\" name=\"adresse\" class=\"inputbox\" value=\"$adresse\"></textarea>
                      </td>
    				  </tr>";
    		 echo"<tr>		 
                      <td>Division* :</td>
    				  
    				   <td>
                          <select name=\"fk_division\" id=\"fk_division\">
                     <?=$ListDir?>
                       </select>
                     </td>
    				  </tr>";
    			echo"<tr>
                      <td >profession : </td>
    				  <td><input class=\"inputbox\" type =\"text\" name=\"profession\" size=\"40\" value=\"$profession\"></td>
    	  </tr>";
    			echo"<tr>
     
     
    	  </tr>";
    			echo"</table>";
    			echo"</td>";
     
    		echo"</tr>";
    		echo"</table>";
    		 echo "<p>| <a href=\"edit_user.php?operation=modify&id_user=$id\">Modifier les informations</a></p>\n";
     
    		echo"<input name=\"operation\" type=\"hidden\" value=\"modify\">";
     
    }
     
     
     
    } 
     
     
    if(($_GET['operation']=="modify")) 
    {
       if(isset($_GET['id_user']))
        {
       $requete = "select * from hd_utilisateur where id_user='".$_GET['id_user']."'";
       echo $requete;
       $ex = mysql_query($requete);
       $tab = mysql_fetch_array($ex);
       echo($tab);
            $id                =$tab['id_user'];
            $nom               = $tab['nom'];
            $prénom            = $tab['prenom'] ;
            $email             = $tab['email'] ;
            $login             = $tab['username'] ;
            $passwd            =$tab['passwd']; //md5 sha1
            $num_téléphone     =$tab['telephone'] ;
            $num_portable      = $tab['user_mobile'] ;
    		$poste_interne     = $tab['poste_interne'] ;
    		$fax               = $tab['fax'] ;
    	    $adresse           =$tab['adresse'] ;
            $fk_division       = $tab['fk_division'] ; 
            $profession        = $tab['profession'] ;
    		$result = db_connect();
    		if (!$result)
                       die(mysql_error());
     
         // selection de la base de données 
            $select  = mysql_select_db($dbName,$result);
            if (!$select)
            die(mysql_error());
     
    		$Result= mysql_query("Select * from hd_division") or die(mysql_error());
     
    	    $nb = mysql_num_rows($Result); 
     
    		 $ListDir = '<option value="0">Toutes Divisions</option>'; 
    while ($tmpObject = mysql_fetch_array($Result)) //tant qu'il y a des centres de cout, on les affiche
    {
     
    if  ($fk_division== $tmpObject["id_division"])
            {
    		    $ListDir .= '<option value="'.$tmpObject["id_division"] .'" selected= "selected">'.$tmpObject["division"] .'</option>';
            }
      else
            {
                $ListDir .= '<option value="'.$tmpObject["id_division"] .'">'.$tmpObject["division"] .'</option>';
    			 }
     
    }
     
    /*
    UPDATE hd_utilisateur SET nom='nom', prenom ='prénom', email ='$email', username='$login', passwd='$passwd', telephone='$num_téléphone', user_mobile='$num_portable' , poste_interne='$poste_interne', fax ='$fax', adresse='$adresse', profession='$profession', fk_division='$fk_division' 
    */
           // echo "<form name=\"modify\" method=\"post\">\n";
    		echo "<div align=\"center\">\n";
            echo "<input name=\"update\" type=\"hidden\" value=\"$id\">\n";
    		echo"<table width=\"100%\"><tr>
    		<td width=\"60%\" valign=\"top\">
    		<table class=\"adminform\">
    		<tr><th colspan=\"2\">Détails utilisateur	</th></tr>";
    		echo" <tr><td width=\"25%\">Nom :</td>
    		<td><input type=\"text\" name=\"nom2\" class=\"inputbox\" size=\"40\" value=\"$nom\"></td><tr>\n";
    		echo"<tr><td>Pr&eacute;nom :</td><td>
    		<input type=\"text\" name=\"prénom2\" class=\"inputbox\" size=\"40\" value=\"$prénom\"></td>";
    		echo"<tr>
                <td>Adresse E-mail : </td>
    		    <td><input type=\"text\" name=\"email2\" class=\"inputbox\" size=\"40\" value=\"$email\"></td></tr>";
    		echo"<tr>		 
    				  <td>Login*  :</td>
    				  <td colspan=\"5\"><input type=\"text\" name=\"login2\" class=\"inputbox\" size=\"40\"  maxlength=\"50\" value=\"$login\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td>Mot de passe : </td>
    				  <td><input class=\"inputbox\" type=\"password\" name=\"passwd2\" size=\"40\" value=\"$passwd\"></td>
    			</tr>";
     
    		echo"<tr>		 
                      <td>Numero de téléphone : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"num_téléphone2\" size=\"40\" value=\"$num_téléphone\"></td>
    		    </tr>";
    	   echo"<tr>		 
                      <td>Numero de portable : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"num_portable2\" size=\"40\" value=\"$num_portable\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td>Poste interne :</td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"poste_interne2\" size=\"40\" value=\"$poste_interne\"></td>
    		    </tr>";
    		echo"<tr>		 
                      <td>Fax : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"fax2\" size=\"40\" value=\"$fax\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td valign=\"top\">Adresse : </td>
    				  <td>
                        <textarea cols=\"60\" rows=\"10\" name=\"adresse2\" class=\"inputbox\" value=\"$adresse\"></textarea>
                      </td>
    				  </tr>";
    		 echo"<tr>		 
                      <td>Division* :</td>
     
    				   <td>
                          <select name=\"fk_division2\" id=\"fk_division\" value=\"$fk_division\">
                     <?=$ListDir?>
                       </select>
                     </td>
    				  </tr>";
    			echo"<tr>
                      <td >profession : </td>
    				  <td><input class=\"inputbox\" type =\"text\" name=\"profession2\" size=\"40\" value=\"$profession\"></td>
    	  </tr>";
    			echo"<tr>
     
     
    	  </tr>";
    			echo"</table>";
    			echo"</td>";
     
    		echo"</tr>";
    		echo"</table>";
    		//echo "</form>\n<br>\n";
        }
    	}
    	?>	
    		</form>
    l'affichage des données concernat un user fonctione nickel, mais on modifiant un champs et en cliquant sur le bouton appliquer , rien ne se passe et j'ai du mal à récupérer le id_user ,aidez moi svp à régler ce problème car ke galère là

    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi $id = $_POST['update']; ?
    Il faut passer l'id dans ton formulaire et le recuperer par son "name".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Je vais juste remettre un peu de propre dans la requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $modify="UPDATE hd_utilisateur SET nom='".$nom2."', prenom ='".$prenom2."', email ='".$email2."', username='".$login2."', passwd='".$passwd2."', telephone='".$num_telephone2."', user_mobile='".$num_portable2."' , poste_interne='".$poste_interne2."', fax ='".$fax2."', adresse='".$adresse2."', profession='".$profession2."', fk_division='".$fk_division2."' 
    WHERE id_user ='".$id."' ";
     
    $req = mysql_query($modify);
    Sinon, évite les accents dans les noms de tes variable^^ et le LIMIT n'est pas nécessaire vu qu'on précise quel id es modifié.

  4. #4
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Pourquoi $id = $_POST['update']; ?
    Il faut passer l'id dans ton formulaire et le recuperer par son "name".
    Je pense que le "name" de son formulaire qui correspondant à son id se nomme 'update'...

  5. #5
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    merci sabotage et beejeridou de vos réponses

    j'avoue que je ne sais pas trop comment m'y prendre

    en cliquant sur le bouton appliquer , mes champs sont tous vides et voisi le message affiché :

    select * from hd_utilisateur where id_user='Array'

    dans l'url au lieu d'avoir id correspondant au user , j'ai Array qui s'affiche

    une idée ??

  6. #6
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $id = "5";
    <input type="hidden" name="update" value="<?php echo $id; ?>" />
    <input type="text" name="nom" value="texte ici" />
    <input type="submit" value="UPDATE" />
     
    if(isset($_POST['update']) && $_POST['update'] != "") {
        $id = $_POST['update'];
        $req = mysql_query("UPDATE table SET nom='".mysql_real_escape_string($_POST['nom'])."' WHERE id='".$id."'");
    }

  7. #7
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    Citation Envoyé par beejeridou Voir le message
    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $id = "5";
    <input type="hidden" name="update" value="<?php echo $id; ?>" />
    <input type="text" name="nom" value="texte ici" />
    <input type="submit" value="UPDATE" />
     
    if(isset($_POST['update']) && $_POST['update'] != "") {
        $id = $_POST['update'];
        $req = mysql_query("UPDATE table SET nom='".mysql_real_escape_string($_POST['nom'])."' WHERE id='".$id."'");
    }
    mon bouton correspondant au champs input se trouve hors de la boucle elseif ou if :

    <input type="submit" value="UPDATE" />

    <a class="toolbar" href=<?php echo "edit_user.php?operation=modify&id_user=$id"?>>
    <input type='submit' name='modify' value='' class='bt_modify' />
    Appliquer
    </a>

  8. #8
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Citation Envoyé par batoule80 Voir le message
    mon bouton correspondant au champs input se trouve hors de la boucle elseif ou if :

    <input type="submit" value="UPDATE" />

    <a class="toolbar" href=<?php echo "edit_user.php?operation=modify&id_user=$id"?>>
    <input type='submit' name='modify' value='' class='bt_modify' />
    Appliquer
    </a>
    Un bouton submit envois des information de type POST, mais dans ton cas, c'est un lien qui transmet des variables dans l'url, donc il faut que tu les récupère par GET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <a class="toolbar" href="<?php echo 'edit_user.php?operation=modify&id_user='.$id; ?>">Appliquer</a>
     
    if(isset($_GET['modify']) && isset($_GET['id_user']) && $_GET['id_user'] != "") {
        $nom = "nouveau nom";
        $req = mysql_query("UPDATE table SET nom='".mysql_real_escape_string($nom)."' WHERE id='".$_GET['id_user']."' ");
    }
    Mais le mieux est de faire par post avec des champs hidden comme je t'ai montré plus haut, je trouve ca plus propre...

  9. #9
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    beejeridou que veux tu dire par :

    value="texte ici"
    dans le champs input ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom" value="texte ici" />

  10. #10
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    C'est par exemple la nouvelle valeur à mettre à jour... Si tu remplace "texte_ici" par "<?php echo $nouveau_nom; ?>", quand tu récupérera la valeur du post, tu récupérera la nouvelle valeur avec, et tu pourra mettre à jour ta BDD.

    Heu... je sais pas si je suis très clair dsl...

  11. #11
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    je suis un peu confuse
    en réalité, j'ai éssayé de suivre ce script que j'ai téléchargé depuis un site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
    <?php
     
    /************************************************************/
    /*  Structure de la table :                                 */
    /*----------------------------------------------------------*/
    /*	CREATE TABLE `fser` (                               */
    /*  `id` tinyint(3) NOT NULL auto_increment,                */
    /*  `nom` varchar(50) NOT NULL default '',                  */
    /*   `prenom` varchar(50) NOT NULL default '',              */
    /*   `adresse` text NOT NULL,                               */
    /*   `code_postal` int(10) NOT NULL default '0',            */
    /*   `ville` varchar(50) NOT NULL default '',               */
    /*   `telephone` varchar(25) NOT NULL default '',           */ 
    /*   `portable` varchar(25) NOT NULL default '',            */ 
    /*   `email` varchar(100) NOT NULL default '',              */ 
    /*   UNIQUE KEY `id` (`id`)                                 */
    /* ) TYPE=MyISAM AUTO_INCREMENT=27 ;                        */
    /*                                                          */ 
    /************************************************************/
     
     
     
     
    $db = mysql_connect('localhost', 'root', '');
    mysql_select_db('annuaire',$db);
     
    if(isset($_POST['modifier'])) {
    $id = $_POST['modifier'];
    $maj= "UPDATE `fser` SET `nom` = '$nom2',`prenom` = 'prenom2',`adresse` = '$adresse2',`code_postal` = '$cp2',`ville` = '$ville2',`telephone` = '$num2',`portable` = '$port2',`email` = '$email2' WHERE `id` ='$id'";
    mysql_query($maj) or die('erreur'.mysql_error());
    echo '<br>Mise a jour effectuée avec succes.';
    }
    if(isset($_POST['ajouter'])) {
     $add = "INSERT INTO `fser` ( `id` , `nom` , `prenom` , `adresse` , `code_postal` , `ville` , `telephone` , `portable` , `email` )
    VALUES (
    '', '$nom', '$prenom', '$adresse', '$cp', '$ville', '$num', '$port', '$email')";
    mysql_query($add);
    echo " vous avez bien ajouté $prenom $nom";
    }
     
    echo "<p><a href='annu.php?action=modifier'>Ajouter un contact</a><br><a href='annu.php?action=lire'>Votre annuaire</a></p>\n";
    if($_GET['action']=="lire") {
     
    $requete = "select * from fser order by nom ASC";
    $ex = mysql_query($requete);
    if(mysql_num_rows($ex) == 0) { die("Votre carnet est vide.<br><a href='annu.php?action=modifier'>Ajouter un contact</a>"); }
     else {
     
    while($tab = mysql_fetch_array($ex))
        {
        $id = $tab['id'];
        $nom = $tab['nom'];
        $prenom = $tab['prenom'];
        $adresse = $tab['adresse'];
        $cp = $tab['code_postal'];
        $ville = $tab['ville'];
        $num = $tab['telephone'];
        $port = $tab['portable'];
        $email = $tab['email'];
     
        echo "<div align=\"center\">\n";
        echo "<table border=1 align=\"center\" width=40%>\n  <tr>\n";
        echo "   <td>$id</td>\n   <td>$nom</td>\n   <td>$prenom</td>\n  </tr>\n";
        echo "  <tr>\n   <td colspan=3>$adresse</td>\n  </tr>\n";
        echo "  <tr>\n   <td>$cp</td><td colspan=2>$ville</td>\n  </tr>\n";
        echo "  <tr>\n   <td>$num</td><td>$port</td><td><a href=\"mailto:$email\">email</a></td>\n  </tr>\n</table>\n";
        echo "<p>| <a href=\"annu.php?action=modifier&id=$id\">Modifier les informations</a> | <a href=\"annu.php?action=supprimer&id=$id\">Supprimer</a> |</p>\n";
        }
    echo "</div>\n";
    }
     
    }
    elseif(($_GET['action']=="modifier")) {
            if(isset($_GET['id'])) {
     
            $requete = "select * from fser where id='".$_GET['id']."'";
            $ex = mysql_query($requete);
            $tab = mysql_fetch_array($ex);
                   $id = $tab['id'];
                   $nom = $tab['nom'];
                   $prenom = $tab['prenom'];
                   $adresse = $tab['adresse'];
                   $cp = $tab['code_postal'];
                   $ville = $tab['ville'];
                   $num = $tab['telephone'];
                   $port = $tab['portable'];
                   $email = $tab['email'];
     
        echo "<form name=\"modif\" method=\"post\">\n";
        echo "<div align=\"center\">\n";
        echo "<input name=\"modifier\" type=\"hidden\" value=\"$id\">\n";
    	 echo "<input name=\"action\" type=\"hidden\" value=\"action\">\n";
        echo "<table border=1 align=\"center\" width=40%><tr>\n";
        echo "<td><input name=\"id2\" type=\"text\" value=\"$id\";></td><td><input name=\"nom2\" type=\"text\" value=\"$nom\"></td><td><input name=\"prenom2\" type=\"text\" value=\"$prenom\"></td></tr>\n";
        echo "<tr><td colspan=3><input name=\"adresse2\" type=\"text\" value=\"$adresse\" size=45></td></tr>\n";
        echo "<tr><td><input name=\"cp2\" type=\"text\" value=\"$cp\"></td><td colspan=2><input name=\"ville2\" type=\"text\" value=\"$ville\"></td></tr>\n";
        echo "<tr><td><input name=\"num2\" type=\"text\" value=\"$num\"></td><td><input name=\"port2\" type=\"text\" value=\"$port\"></td><td><input name=\"email2\" type=\"text\" value=\"$email\"></td></tr>\n</table>\n";
        echo "<input type=\"submit\" value=\"Mettre a jour\">\n";
        echo "</form>\n<br>\n";
        }
        else {
        echo "<form name=\"ajouer\" method=\"post\">\n";
        echo "<div align=\"center\">\n";
        echo "<input name=\"ajouter\" type=\"hidden\" >\n";
        echo "<table border=1 align=\"center\" width=40%><tr>\n";
        echo "<td colspan=2><input name=\"nom\" type=\"text\" value=\"nom\"></td><td><input name=\"prenom\" type=\"text\" value=\"prenom\"></td></tr>\n";
        echo "<tr><td colspan=3><input name=\"adresse\" type=\"text\" value=\"adresse\" size=45></td></tr>\n";
        echo "<tr><td><input name=\"cp\" type=\"text\" value=\"copde postal\"></td><td colspan=2><input name=\"ville\" type=\"text\" value=\"ville\"></td></tr>\n";
        echo "<tr><td><input name=\"num\" type=\"text\" value=\"telephone\"></td><td><input name=\"port\" type=\"text\" value=\"portable\"></td><td><input name=\"email\" type=\"text\" value=\"email\"></td></tr>\n</table>\n";
        echo "<input type=\"submit\" value=\"Ajouter !\">\n";
        echo "</form>\n<br>\n";
             }                       }
    elseif(($_GET['action']=="supprimer")) {
            if(isset($_GET['id'])) {
            $id = $_GET['id'];
            echo "Etes vous sûr de vouloir supprimer ce contact ?\n";
            echo "<a href=\"annu.php?action=supprimer&confirm=1&id=$id\">oui</a>\n";
            echo "<a href=\"annu.php?action=supprimer&confirm=0&id=$id\">non</a>\n";
            if($_GET['confirm']==1)   {
               $sup = "DELETE from fser where id='$id'";
               mysql_query($sup) or die('<br>'.mysql_error());
               echo "<br>vous avez bien supprimé ce contact.";
                                            }elseif($_GET['confirm']=="0") {
               echo "<br>vous n'avez pas supprimé.";
                                                  }
                                   }
    }
     
    ?>
    mais ce que je ne comprend pas dans cette requète :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "UPDATE `fser` SET `nom` = '$nom2'
    la variable $nom2,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input name=\"nom2\" type=\"text\" value=\"$nom\">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom = $tab['nom'];
    d'aprés ce que tu m'a expliqué , la nouvelle valeur à remplacer est bien celle ci : value=\"$nom\" qu'on a récupéré par du tableau $_post ici : mais en haut on a mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `fser` SET `nom` = '$nom2'
    j'y comprend plus rien

  12. #12
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Ben le mec qui t'a filé le code s'est un peu trompé au début...

    tu as tout à fait raison, et c'est normal que tu ai perdu la boule^^ hihi
    En effet, les variable nom2 etc n'existent pas sous cette forme. Tu dois remplacer ces variables par par exemple $_POST['nom2']

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if(isset($_POST['modifier'])) {
        $id = $_POST['modifier'];
        $maj= "UPDATE `fser` SET `nom` = '".mysql_real_escape_string($_POST['nom2'])."',`prenom` = 'prenom2',`adresse` = '$adresse2',`code_postal` = '$cp2',`ville` = '$ville2',`telephone` = '$num2',`portable` = '$port2',`email` = '$email2' WHERE `id` ='$id'";
        mysql_query($maj) or die('erreur'.mysql_error());
        echo '<br>Mise a jour effectuée avec succes.';
    }
    if(isset($_POST['ajouter'])) {
         $add = "INSERT INTO `fser` ( `id` , `nom` , `prenom` , `adresse` , `code_postal` , `ville` , `telephone` , `portable` , `email` )
    VALUES (
    '', '$nom', '$prenom', '$adresse', '$cp', '$ville', '$num', '$port', '$email')";
        mysql_query($add);
        echo " vous avez bien ajouté $prenom $nom";
    }
    Je t'ai rempli juste le bon code pour nom2, j'ai la flemme de faire le reste... lol
    A toi de faire (exactement pareil) le reste et tiens nous au jus^^

    PS: le mysql_escape_string est une sécurité pour ta BDD ==> INDISPENSABLE

  13. #13
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    Citation Envoyé par beejeridou Voir le message
    Ben le mec qui t'a filé le code s'est un peu trompé au début...

    tu as tout à fait raison, et c'est normal que tu ai perdu la boule^^ hihi
    En effet, les variable nom2 etc n'existent pas sous cette forme. Tu dois remplacer ces variables par par exemple $_POST['nom2']

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if(isset($_POST['modifier'])) {
        $id = $_POST['modifier'];
        $maj= "UPDATE `fser` SET `nom` = '".mysql_real_escape_string($_POST['nom2'])."',`prenom` = 'prenom2',`adresse` = '$adresse2',`code_postal` = '$cp2',`ville` = '$ville2',`telephone` = '$num2',`portable` = '$port2',`email` = '$email2' WHERE `id` ='$id'";
        mysql_query($maj) or die('erreur'.mysql_error());
        echo '<br>Mise a jour effectuée avec succes.';
    }
    if(isset($_POST['ajouter'])) {
         $add = "INSERT INTO `fser` ( `id` , `nom` , `prenom` , `adresse` , `code_postal` , `ville` , `telephone` , `portable` , `email` )
    VALUES (
    '', '$nom', '$prenom', '$adresse', '$cp', '$ville', '$num', '$port', '$email')";
        mysql_query($add);
        echo " vous avez bien ajouté $prenom $nom";
    }
    Je t'ai rempli juste le bon code pour nom2, j'ai la flemme de faire le reste... lol
    A toi de faire (exactement pareil) le reste et tiens nous au jus^^

    PS: le mysql_escape_string est une sécurité pour ta BDD ==> INDISPENSABLE
    hé non son code marche avec juste nom2,prenom2 et ça bd est mise à jour

    meme en modifiant ce que tu m'as proposé , j'ai toujours ce message :

    select * from hd_utilisateur where id_user='Array'

  14. #14
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    bonjour,

    en réalité j'avais mis les balises form en commentaire pour tester autre chose,du coup rien ne marchais !!

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    if(isset($_POST['modify'])) {
        $id = $_POST['modify'];
    /*'nom2', prenom ='prénom2', email ='email2', username='login2, passwd='passwd2', telephone='num_téléphone2', user_mobile='num_portable2' , poste_interne='poste_interne2', fax ='fax2', adresse='adresse2', profession='profession2', fk_division='fk_division2' */
     
    $modify="UPDATE hd_utilisateur SET nom='".mysql_real_escape_string($_POST['nom2'])."', prenom ='".mysql_real_escape_string($_POST['prénom2'])."', email ='".mysql_real_escape_string($_POST['email2'])."', username='".mysql_real_escape_string($_POST['login2'])."', passwd='".mysql_real_escape_string($_POST['passwd2'])."', telephone='".mysql_real_escape_string($_POST['num_téléphone2'])."', user_mobile='".mysql_real_escape_string($_POST['num_portable2'])."' , poste_interne='".mysql_real_escape_string($_POST['poste_interne2'])."', fax ='".mysql_real_escape_string($_POST['fax2'])."', adresse='".mysql_real_escape_string($_POST['adresse2'])."', profession='".mysql_real_escape_string($_POST['profession2'])."', fk_division='".mysql_real_escape_string($_POST['fk_division2'])."' 
    WHERE id_user ='".$_GET['id_user']."' ";
    echo $modify;
    if (mysql_query($modify)) 
    {$msg = "Your property <b>".$nom."</b> has been updated! Click <a href='gestion_user.php?id_user=$id'>here</a> to view your property.";
     
    echo ($msg);
    }
    else die(mysql_error());
     
     
    }
    en mettant echo $modify , tout mes paramètres passent bien sauf id_user qui reste vide voici le résultat : j'ai aussi ce message d'erreur :

    Notice: Undefined index: id_user in 378 qui correspond à cette ligne de la requète ci dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id_user ='".$_GET['id_user']."' ";
    j'ai aussi ce message :

    Notice: Undefined index: operation on line 667 qui corresponde à la ligne

    elseif(($_GET['operation']=="modify")) du code ci dessous


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
    elseif(($_GET['operation']=="modify")) 
    {
       if(isset($_GET['id_user']))
        {
       $requete = "select * from hd_utilisateur where id_user='".$_GET['id_user']."'";
       echo $requete;
       $ex = mysql_query($requete);
       $tab = mysql_fetch_array($ex);
       echo($tab);
            $id                =$tab['id_user'];
            $nom               = $tab['nom'];
            $prénom            = $tab['prenom'] ;
            $email             = $tab['email'] ;
            $login             = $tab['username'] ;
            $passwd            =$tab['passwd']; //md5 sha1
            $num_téléphone     =$tab['telephone'] ;
            $num_portable      = $tab['user_mobile'] ;
    		$poste_interne     = $tab['poste_interne'] ;
    		$fax               = $tab['fax'] ;
    	    $adresse           =$tab['adresse'] ;
            $fk_division       = $tab['fk_division'] ; 
            $profession        = $tab['profession'] ;
    		$result = db_connect();
    		if (!$result)
                       die(mysql_error());
     
         // selection de la base de données 
            $select  = mysql_select_db($dbName,$result);
            if (!$select)
            die(mysql_error());
     
    		$Result= mysql_query("Select * from hd_division") or die(mysql_error());
     
    	    $nb = mysql_num_rows($Result); 
     
    		 $ListDir = '<option value="0">Toutes Divisions</option>'; 
    while ($tmpObject = mysql_fetch_array($Result)) //tant qu'il y a des centres de cout, on les affiche
    {
     
    if  ($fk_division== $tmpObject["id_division"])
            {
    		    $ListDir .= '<option value="'.$tmpObject["id_division"] .'" selected= "selected">'.$tmpObject["division"] .'</option>';
            }
      else
            {
                $ListDir .= '<option value="'.$tmpObject["id_division"] .'">'.$tmpObject["division"] .'</option>';
    			 }
     
    }
     
     
           echo "<form name=\"modify\" method=\"post\">\n";
    		echo "<div align=\"center\">\n";
            echo "<input name=\"modify\" type=\"hidden\" value=\"$id\">\n";
    		echo "<input name=\"operation\" type=\"hidden\" value=\"modify\">\n";
    		echo"<table width=\"100%\"><tr>
    		<td width=\"60%\" valign=\"top\">
    		<table class=\"adminform\">
    		<tr><th colspan=\"2\">Détails utilisateur	</th></tr>";
    		echo" <tr><td width=\"25%\">Nom :</td>
    		<td><input type=\"text\" name=\"nom2\" class=\"inputbox\" size=\"40\" value=\"$nom\"></td><tr>\n";
    		echo"<tr><td>Pr&eacute;nom :</td><td>
    		<input type=\"text\" name=\"prénom2\" class=\"inputbox\" size=\"40\" value=\"$prénom\"></td>";
    		echo"<tr>
                <td>Adresse E-mail : </td>
    		    <td><input type=\"text\" name=\"email2\" class=\"inputbox\" size=\"40\" value=\"$email\"></td></tr>";
    		echo"<tr>		 
    				  <td>Login*  :</td>
    				  <td colspan=\"5\"><input type=\"text\" name=\"login2\" class=\"inputbox\" size=\"40\"  maxlength=\"50\" value=\"$login\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td>Mot de passe : </td>
    				  <td><input class=\"inputbox\" type=\"password\" name=\"passwd2\" size=\"40\" value=\"$passwd\"></td>
    			</tr>";
     
    		echo"<tr>		 
                      <td>Numero de téléphone : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"num_téléphone2\" size=\"40\" value=\"$num_téléphone\"></td>
    		    </tr>";
    	   echo"<tr>		 
                      <td>Numero de portable : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"num_portable2\" size=\"40\" value=\"$num_portable\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td>Poste interne :</td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"poste_interne2\" size=\"40\" value=\"$poste_interne\"></td>
    		    </tr>";
    		echo"<tr>		 
                      <td>Fax : </td>
    				  <td><input class=\"inputbox\" type=\"text\" name=\"fax2\" size=\"40\" value=\"$fax\"></td>
    			</tr>";
    		echo"<tr>		 
                      <td valign=\"top\">Adresse : </td>
    				  <td>
                        <textarea cols=\"60\" rows=\"10\" name=\"adresse2\" class=\"inputbox\" value=\"$adresse\"></textarea>
                      </td>
    				  </tr>";
    		 echo"<tr>		 
                      <td>Division* :</td>
     
    				   <td>
                          <select name=\"fk_division2\" id=\"fk_division\" value=\"$fk_division\">
                     <?=$ListDir?>
                       </select>
                     </td>
    				  </tr>";
    			echo"<tr>
                      <td >profession : </td>
    				  <td><input class=\"inputbox\" type =\"text\" name=\"profession2\" size=\"40\" value=\"$profession\"></td>
    	  </tr>";
     
     
    			echo"<tr>
     
     
    	  </tr>";
    			echo"</table>";
    			echo"</td>";
     
    		echo"</tr>";
    		echo"</table>";
    		echo "<input type=\"submit\" value=\"Mettre a jour\">\n";
    		echo "</form>\n<br>\n";
        }
    	}
    	?>
    avez vous une idée de la source du problème ?

  15. #15
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Il faut que tu passes l'id_user en paramètre a ta page : www.tonsite.com/page?id_user=administrateur

Discussions similaires

  1. [MySQL] Update qui ne fonctionne pas
    Par Pissou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/03/2008, 15h16
  2. [MySQL] Code PHP sur des UPDATE qui ne fonctionne pas
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/10/2007, 11h57
  3. Requete UPDATE qui ne fonctionne pas
    Par JiB@ dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/03/2007, 18h06
  4. [MySQL] Requête update qui ne fonctionne pas
    Par Sylvain245 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/12/2005, 16h40
  5. [MySQL] UPDATE qui ne fonctionne pas
    Par philippef dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/09/2005, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo