Probleme avec un UPDATE en php

Résolu
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
Configuration: Linux
Mozilla 1.9.0.14

5 réponses

  1. 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."'";
    0
    1. 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
      0

      1. $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 ...
        0
        1. 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
          0
          1. c'est bon j'ai pu corriger mon probleme merci pour votre aide j'ai modifier un peu mon code et ma requete
            0