PHP confirmation d'inscription par mail

Résolu
greg -  
 greg -
Bonjour,

alors voila mon problème: je souhaite créer un système d'inscription + confirmation par mail.
j'envoie donc par mail une clé (qui a été sauvegardé avant dans la base de donnée) et le pseudo de la personne pour retrouver la clé par la suite.
mon principe: avec le pseudo je retrouve la clé que je compare à celle enregistrée dans le mail.
sauf que ma requête ne semble pas recevoir le pseudo enregistré dans le mail... (confirmation après test que le problème vient de la)

voila mon code:

inscription

  $destinataire = $email;
$sujet = "blabla" ;
$entete = "blabla" ;
  
  $message = '

http://monsite/activation.php?login='.urlencode($login).'&cle='.urlencode($cle).'

blabla';


mail($destinataire, $sujet, $message, $entete) ;


la réception du mail marche.

activation:

$login = $_GET['login'];
$cle = $_GET['cle'];
		
	

  $sql = "SELECT cle, actif FROM Utilisateur WHERE pseudo='$login' ";
$data=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

$clebdd= $data['cle'];
$actif= $data['actif'];


et à partir de la je ne récupère toujours pas les valeurs de data 'actif' et data 'clé'

si quelqu'un a une idée sur le problème... je le remercierai beaucoup!

3 réponses

  1. JooS Messages postés 2705 Statut Membre 228
     
    Salut,
    Moi j'aurais utiliser l'id au lieu du pseudo de l'utilisateur.

    Sinon, t'as penser a urldecode() ?!

    Si t'utilise le pseudo malgré tout, alors je te conseille d'interdire les caractères spéciaux (espaces, caractères non alphabétique, ... )

    Mettez en résolu quand c'est résolu -.- ...
    0
  2. Profil bloqué
     
    ton probleme vient de la partie SQL il manque le fetch_array

    remplace
    $sql = "SELECT cle, actif FROM Utilisateur WHERE pseudo='$login' ";
    $data=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    par

    $sql = "SELECT cle, actif FROM Utilisateur WHERE pseudo='$login' ";
    $data1=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $data = mysql_fetch_array($data1);

    aussi je suis d'accord avec Joos mieux vaut remplacer pseudo par un id au mois ca marchera à tous les coups

    a+
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      Ah oui, bien vu.
      0
  3. greg
     
    tout marche très bien. merci de votre réponse et conseil! erreur stupide...
    0