Modifier une ligne dans une table {UPDATE}

Résolu
dexter2089 Messages postés 28 Statut Membre -  
dexter2089 Messages postés 28 Statut Membre -
Bonjour,
Bonjour,
je galère depuis quelques semaine avec mon code, je n'arrive pas à modifier une ligne dans ma table, j'ai deux pages (une avec le formulaire et l'autre avec la requête).

Je rentre les données depuis ma BDD (donc le sexe, l'age et l'avatar), le problème est en faite que quand je passe par le formulaire c'est informations se supprime, et ne ce remplace pas.

La requête marche très bien

modifier-compte-utilisateur.php
<?php
mysql_connect("XXX", "XXX", "XXX");
mysql_select_db("XXX");

$requete = mysql_query("SELECT * FROM Comptes_Utilisateurs ");

$reponse = mysql_query("SELECT * FROM Comptes_Utilisateurs where Nom_Utilisateur='$_COOKIE[NOM_UTILISATEUR]' ");

# Deconnection MySQL
mysql_close();

# Boucle pour afficher le résultat
while ($donnees = mysql_fetch_array($reponse) )
{
?>

<form action="modifier-compte-utilisateur-2.php" method="post">

<table border="1" width="100%">

<td width="20%"><center>

Sexe :<br />
<?php
if ($_COOKIE["SEXE_UTILISATEUR"] == Femme )
{
echo '<select>
<option selected="selected" value="Femme">Femme</option>
<option value="Homme">Homme</option>
</select>';
}
else
{
echo '<select>
<option selected="selected" value="Homme">Homme</option>
<option value="Femme">Femme</option>
</select>';
}
?>

</center></td>

<td width="40%"><center>

Avatar :<br />
<?php
{
echo '<input type="text" name="$new_avatar" value="' .$_COOKIE["AVATAR_UTILISATEUR"]. '" />';
}
?>
</center></td>

<td width="40%"><center>

Age :<br />
<?php
{
echo '<input style="text-align:center;" type="text" name="$new_age" value="' .$_COOKIE["AGE_UTILISATEUR"]. '" />';
}
?>

</center></td>

</table><br />

<center><input type="submit" value="Modifier" /> - <input type="reset" value="Effacer" /></center>

</form>

<?php

}
?>


modifier-compte-utilisateur-2.php
<?php
$cnx = mysql_connect("XXX", "XXX", "XXX");

$db = mysql_select_db("XXX");

$new_sexe = html_entity_decode($_POST["Sexe_Utilisateur"]);
$new_avatar = html_entity_decode($_POST["Avatar_Utilisateur"]);
$new_age = html_entity_decode($_POST["Age_Utilisateur"]);

$sql = "UPDATE Comptes_Utilisateurs SET `Sexe_Utilisateur` = '$new_sexe', `Avatar_Utilisateur` = '$new_avatar', `Age_Utilisateur` = '$new_age' where Nom_Utilisateur='$_COOKIE[NOM_UTILISATEUR]' ";


$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

if($requete)
{
echo 'Les modifications ont bien &eacute;t&eacute; effectu&eacute;s. <br />
Vous allez &ecirc;tre redirig&eacute;.';
}
else
{
echo 'Une erreur est survenue lors de la modification.';
}
mysql_close(); // Déconnexion de MySQL
?>
</div>

A voir également:

3 réponses

le_joker_fou Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   239
 
Salut,

Effectivement relis car tu ne récupère pas la variable dans ton formulaire, donc pour lui il remplace la valeur de ta base par un variable vide, donc il supprime.

<input style="text-align:center;" type="text" name="$new_age" value="' .$_COOKIE["AGE_UTILISATEUR"]. '" />


ici tu déclare le nom de ta text box par la chaine de caractère $new_age

$new_age = html_entity_decode($_POST["Age_Utilisateur"]);


et la tu récupère la variable dans la textbox "Age_Utilisateur" qui n'existe pas. Tu as inversé name et value

modifie tes textbox comme suis :
<input style="text-align:center;" type="text" name="Age_Utilisateur" value="' .$_COOKIE["AGE_UTILISATEUR"]. '" />
1
dexter2089 Messages postés 28 Statut Membre
 
Une petite idée SVP ?
0
dexter2089 Messages postés 28 Statut Membre
 
C'était bien ça Joker merci ton aide ;)
0