Probleme avec un UPDATE en php [Résolu/Fermé]

Signaler
Messages postés
186
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 août 2011
-
Messages postés
186
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 août 2011
-
Bonjour,
j'aimerai vous exposez un probleme je debutes en php et j'ai un petit probleme avec le Update d'un formulaire
je m'explique j'ai un formulaire que j'aimerai mettre à jour, je recupere bien les donnees mais lorsque je fais la modification il ne le prend pas en compte je vous montre mon code

formulaire à editer

<?php
session_start();
$base=mysql_connect('localhost','root','');
mysql_select_db('dtc',$base);
$owner=$_SESSION['adm_login'];
$_SESSION['name']=$name;
$_GET['login']=$login;

$sql="SELECT * from ftp_access WHERE hostname='$name' AND login='$login'";
$resultat=mysql_query($sql);
$mydomain=mysql_fetch_array($resultat);
?>
<html>
<head>
<title>Creation de compte FTP</title>
</head>
<body>
<!-- Declaration de notre formulaire -->
Modifier votre compte ftp <h4> <?php echo $_SESSION['name'] ;?> </h4>
<br />
<form action="confirmodifftp1.php" method="POST">

<table>
        <tr>
        <td><label>login</label></td>
        <td><input type="text" name="login" value="<?php echo $mydomain['login'] ;?>" />@ <?php echo $_SESSION['name']; ?> <br/></td>
        </tr>

        <tr>
        <td><label>Password</label></td>
        <td><input type="text" name="passwd" value="<?php echo $mydomain['password'] ; ?>"/><br/></td>
        </tr>
</table>
<input type="submit" value="Modifier">
</form>
<a href="membre.php">Retour au menu principe </a></br>
<a href="deconnexion.php"> Deconnexion </a>
</body>
</html>
<?php mysql_close() ;?>


Et voila l'autre page qui doit m'afficher les modifications dans un tableau

<?php
session_start();
$base=mysql_connect('localhost','root','');
mysql_select_db('dtc',$base);

$owner=$_SESSION['adm_login'];
$_SESSION['name']=$name;
$_GET['login']=$login;

##Mise a jour de la table
$sql="UPDATE ftp_access SET login='$login', password='$passwd' WHERE login='$login'";
mysql_query($sql) or die ('Error SQL ! '.$sql.'<br/>'.mysql_error());

echo" <html>";
echo" <head>";
echo" <title></title>";
echo" </head>";
echo" <body>";
$sql1="SELECT * from ftp_access WHERE hostname='$name'";
$resultat=mysql_query($sql1);

echo "<h1>Vos comptes ftp</h1> <br/>";
echo "<table width=50% align=center border=1>";
echo "<tr><td>Compte ftp</td><td>Modifier un compte</td><td>Supprimer un compte</td></tr>";
while($myftp=mysql_fetch_array($resultat) ){
$affiche=$myftp['login'];
echo "<tr>";
echo "<td>$affiche</td>";
echo "<td>";
echo "<a href='modiftp.php?login=$affiche'>Modifier</a></td>";
echo "<td>";
echo "<a href='suppftp.php?login=$affiche'>Supprimer</a></td>";
echo "</td>";
echo "</tr>";
}
echo "</table> <br />";

mysql_close();
echo "<a href='membre.php'>Retour au menu principe </a></br>";
echo "<a href='deconnexion.php'> Deconnexion </a>";
echo"</body>";
echo"</html>";
?>


Je pense que l'erreur vient de la requete Update surtout au niveau du WHERE car lorsque je met les variables en sql sa marche sans probleme si quelqu'un à une idee merci de bien vouloir me donne un coup de main

5 réponses

Salut,

La formulation de ta requete me parait incorrecte au niveau des variables. Essaye de l'afficher pour vérifier, je pense que ce serait plutôt un truc du genre :
$sql="UPDATE ftp_access SET login='".$login."', password='".$passwd."' WHERE login='".$login."'";
Messages postés
186
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 août 2011
33
Merci pour ta reponse mais la formulation de ma requete marche et pourtant et j'ai le meme resultat avec ta requete aussi
Lorsque je l'affiche comme ici il recupere bien les variables modifier mais la modification ne se fait dans la base de donnee

<?php
session_start();
$base=mysql_connect('localhost','root','');
mysql_select_db('dtc',$base);
$owner=$_SESSION['adm_login'];
$_SESSION['name']=$name;
$_GET['login']=$login;
$_POST['passwd']=$passwd;
#Mise à jourr de la tablee

$sql="UPDATE ftp_access SET login='$login', password='$passwd' WHERE login='$login'";
mysql_query($sql) or die ('Error SQL ! '.$sql.'<br />'.mysql_error() );

echo "voila votre nouveau login $login <br />";
echo "voila le password $passwd";


mysql_close();

?>


Si quelqu'un a une idee merci
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200

$sql="UPDATE ftp_access SET login='$login', password='$passwd' WHERE login='$login'";


Ajoute ensuite un echo $sql;
Et envoies ce que ça t'as mis ...
Messages postés
186
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 août 2011
33
voila ce que sa me donne comme je l'avais imaginier en fait le champs reprend bien la meme valeur comme ici
voila le resultat du echo
UPDATE ftp_access SET login='robert99@hulk.com', password='robert' WHERE login='robert99@hulk.com'



et vu que ce nom n'existe pas dans la base il ne peut pas le remplacer
Messages postés
186
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 août 2011
33
c'est bon j'ai pu corriger mon probleme merci pour votre aide j'ai modifier un peu mon code et ma requete