T_CONSTANT_ENCAPSED_STRING ???

Résolu/Fermé
Eastchild Messages postés 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 - 1 mars 2008 à 01:33
Eastchild Messages postés 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 - 9 mars 2008 à 18:31
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 samedi 26 janvier 2008 Statut Membre Dernière intervention 9 décembre 2016 2
6 mars 2008 à 11:52
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 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
1 mars 2008 à 13:32
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 lundi 3 mars 2008 Statut Membre Dernière intervention 6 mars 2008
3 mars 2008 à 15:02
salut essaye ca.

$mdp='UPDATE ep_membres SET mdp= '.$chaine.' WHERE login="'.$_POST["txtLog"].'"';
0
Eastchild Messages postés 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
3 mars 2008 à 19:54
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 lundi 3 mars 2008 Statut Membre Dernière intervention 6 mars 2008
4 mars 2008 à 11:22
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 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
4 mars 2008 à 17:10
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 lundi 3 mars 2008 Statut Membre Dernière intervention 6 mars 2008
6 mars 2008 à 11:01
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 318 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31 > kyzanth Messages postés 3 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 6 mars 2008
9 mars 2008 à 18:31
je n'ai plus de T_Constant_encapsed_string mais impossible de rentrer le nouveau mdp dans ma BDD
0