T_CONSTANT_ENCAPSED_STRING ???

Résolu
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -  
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un soucis que je n'arrive pas à résoudre puisqu'après plusieurs recherche sur Google de T_CONSTANT_ENCAPSED_STRING je ne trouve rien concernant mon problème.

Voici mon code :

<?
include ('connect.php');

$sql='SELECT * FROM ep_membres WHERE login = "'.$_POST["txtLog"].'"';
$res=mysql_query($sql)
			or die ("utilisateur inexistant");
			
$tab=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0');
			
$chaine='';
for ($i=0;$i<8;$i++)
{
        $offset=rand(0,35);
        $chaine=$chaine . $tab[$offset];
}

$mdp='UPDATE ep_membres SET mdp=$chaine WHERE login="'.$_POST["txtLog"]'"';

$toto=mysql_query($mdp)
			or die ("erreur");
			
			
$mail=$_POST["txtMail"];

mail($mail, "nouveau mot de passe", "bonjour ".$_POST['txtLog'].", votre nouveau mot de passe est : $chaine ");

?>


et la ligne où il me dit qu'il y a une erreur :

$mdp='UPDATE ep_membres SET mdp=$chaine WHERE login="'.$_POST["txtLog"]'"';


A chaque fois je lis qu'il faut vérifier les lignes précédentes mais sans cette dernière sus cité, le code marche et je ne vois pas mon erreur.
Merci d'avance pour les pro du forum qui réussiraient à me débloqué.

4 réponses

masdmaah Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   2
 
remplace
$mdp='UPDATE ep_membres SET mdp=$chaine WHERE login="'.$_POST["txtLog"]'"';

par
$mdp="UPDATE ep_membres SET mdp=".$chaine." WHERE login LIKE".$_POST["txtLog"]
1
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
Bon, je sais que le titre du topic est en majuscule mais j'ai fais un copier/coller de l'erreur. Merci à l'utilisateur qui voudra bien résoudre mon problème.
0
kyzanth Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
salut essaye ca.

$mdp='UPDATE ep_membres SET mdp= '.$chaine.' WHERE login="'.$_POST["txtLog"].'"';
0
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
Salut

en fait je l'ai déjà essayé ça kyzanth sauf que le mot de passe n'est pas enregistré dans ma BDD et je tombe sur mon message 'erreur' par rapport à ma commande :

$toto=mysql_query($mdp)
or die ("erreur");
0
kyzanth Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
vu que tu demande de faire une update et qu il trouve pas ton mdp que tu as dans ta clause where c est normal que tu tombe sur erreur.

faut que tu fasse une insertion si il existe pas
0
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
En fait, je cherche à remplacer un mdp par une chaine générée automatiquement dans ma table de façon à ce qu'elle soit insérer dans la ligne de l'utilisateur qui aurait perdu son mdp. En gros à la page d'avant, je demande à rentrer le login et le mail de l'utilisateur qui aurait perdu son mot de passe. Je sais pas si je suis clair mais de la façon dont je l'ai fait ça me paraissait logique (en suivant mes cours).
0
kyzanth Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
tu a toujours une erreur ou pas dans ton script actuellement avec l erreur du début corrigé ?

n'oublie pas de protéger tes variables venant d un formulaire pour éviter les injections SQL (addslashes)
0
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31 > kyzanth Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
je n'ai plus de T_Constant_encapsed_string mais impossible de rentrer le nouveau mdp dans ma BDD
0