Pb dans ma fonction UPDATE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb dans ma fonction UPDATE

Re: Pb dans ma fonction UPDATE

par Cyrano » 31 août 2010, 20:11

:) N'oublie pas le [Résolu] ;)

Re: Pb dans ma fonction UPDATE

par Nikito » 31 août 2010, 20:07

Bonsoir Cyrano et merci pour ta réponse qui ma permis de résoudre mon problème.
Bonne soirée !

Re: Pb dans ma fonction UPDATE

par Cyrano » 30 août 2010, 19:56

Normal, tu utilises une mauvaise habitude de beaucoup de codeurs en effectuant pas les concaténations proprement.

Essaye un truc, commence par préparer ta requête juste avant de la faire exécuter comme ceci par exemple :
$sql = "UPDATE password SET id=$mdp, mot_de_passe=$change, date=NOW() where id=$mdp";
// Modifier la bdd
mysql_query ($sql)or die("Erreur lors de la modification !");
Là au moins, tu as une petite chance de te faciliter le débogage : Tu peux ainsi insérer temporairement quelque chose comme ceci :
$sql = "UPDATE password SET id=$mdp, mot_de_passe=$change, date=NOW() where id=$mdp";
echo("<pre>\n");
var_dump($sql);
echo("</pre>\n");
// Modifier la bdd
mysql_query ($sql)or die("Erreur lors de la modification !");
Lance ta page et tente une mise à jour de tes données : ta requête va alors s'afficher à l'écran : tu vas pouvoir faire un copier/coller pour la tester directement dans PHPMyAdmin par exemple, et tu vas voir un beau message d'erreur ... à moins qu'en regardant la requête obtenue tu ne la voies avant ;)

Pb dans ma fonction UPDATE

par Nikito » 30 août 2010, 18:51

Bonjour à tous,
La modification UPDATE est correct si je rentre des chiffres dans le champ "Entrez le nouveau mot de passe" ($champ), si je rentre des lettres dans ce même champ de saisi, alors j'ai en retour "Erreur lors de la modification !".

Je ne peux donc pas renseigner ce champ avec des caractères alphabétiques !
Si vous avez une solution à ce problème...
Merci pour les infos

Mon code (tout sur la même page) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>
<title>Modification du mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="language" content="fr" />
<meta name="description" content=""/>
<meta name="keywords" content="" />
<meta name="robots" content="index, follow, noarchive" />
<link href="../../feuille.css" rel="stylesheet" type="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />


<?php
// Connexion à la BDD
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=password', 'root', '');
}

catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}

if(isset($_POST['mdp']))
{ 
$mdp=$_POST['mdp']; 
$change=$_POST['change'];
 
// Modifier la bdd 
mysql_query ("UPDATE password SET id=$mdp, mot_de_passe=$change, date=NOW() where id=$mdp")or die("Erreur lors de la modification !");
}

?>

<body>
<form method="POST" action="password_modif.php">
  <p><img src="../../images/header.png" width="856" height="153" /></p>
  <p class="mess5"><span class="mess3">Modification d'un mot de passe</span></p>
  <p class="mess5">Entrez l' id à modifier :</p>
  <p>
    <label>
      <input name="mdp" type="text" style="text-align:center; " size="10"/>
    </label>
  </p>
  <p class="mess5">Entrez le nouveau mot de passe :</p>
  <p>
    <input type="text" name="change" style="text-align:center; ">
  </p>
  <p>
    <input type="submit" value="Modifier">
  </p>
  <p><a href="accueil.php" class="button_dark">Quitter</a></p>
</form>
</body>
</html> 
<?php
// DECONNEXION bdd MYSQL
close();
?>