Recevoir un mail après activation d'un compte

mariang Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,





j'ai un formulaire que le nouveau membre rempli.
il reçoit un mail pour activer son compte.

lorsqu'il renvoit la clé, son compte est activé.

jusque là, en ce qui me concerne, tout va bien

mais j'aimerai lorsqu'il envoie le code-clé à ma base sql, recevoir un mail dans ma boîte pour m'avertir qu'il y a une nouveau membre avec dans ce mail, son pseudo, son m d p et son mail.

de ce que j'ai écris, je reçois le mail, mais sans les renseignements.

voici le énième script que j'ai écrit et impossible de trouver la solution.

<?php
  include ('protected/login.inc.php');
  //include ('protected/ctrl.inc.php');

  // On récupère le Pseudo et la clé chiffrée du message d'activation
  $MailPseudo = $_GET['log'];
  $MailClé = $_GET['cle'];
  $MailFlag = $_GET['flag'];

    // S'IL S'AGIT D'UNE ACTIVATION, ON MET LE FLAG D'ACTIVATION A 1  ET ON SORT
  If ($MailFlag==1):
    // On met le flag d'activation à 1
    $requete = "UPDATE kdo SET Activation='1' WHERE Cle='$MailClé'";
    $resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error());
    mysql_close($connexion);

	// On propose le retour à la page d'accueil
    echo '<br><span class="Style4">A présent ton compte est actif. D\'ici quelques temps ta page sera construite et tu seras prévenu par un mail. Pour retourner sur le site, Mini Kdo, cliques sur <a href="http://minikdo.free.fr/">ce lien</a>';
    // Et on quitte
	exit;
  endif;

  // Il s'agit forcément  d'une création, on cherche la clé dans la base de données
  $sql = "SELECT Cle FROM kdo WHERE Pseudo = '$MailPseudo'";
  $resultat = mysql_query($sql,$connexion) or die ("Erreur : ".mysql_error());
  
  while ($row = mysql_fetch_assoc($resultat)) 
    { 
    $DBClé = $row["Cle"];
    }

  // On compare les clés
    if($MailClé == $DBClé): // On compare nos deux clés	
      $requete = "UPDATE kdo SET Activation='1' WHERE Pseudo = '$MailPseudo'";
      $resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error());
      echo '<br><span class="Style4">A présent ton compte est actif. <br><br>Prévois un certain temps avant que ta page soit fonctionnelle.<br><br>Tu recevras un mail lorsque cela sera fait.<BR><BR>En attendant, tu peux réfléchir aux cadeaux que tu aimerais avoir
	  <br><br>Pour retourner sur le site, Mini Kdo, cliques sur <a href="http://minikdo.free.fr/">ce lien</a>';
	else:                   // Si les deux clés sont différentes on ne valide pas
      mysql_close($connexion);
	   exit('Votre compte n\'a pu être activé pour une raison indéterminée. Veuillez faire un nouvel essai ou contacter le webmaster.');
	endif;
	
		//LE WEBMASTER RECOIT UN MAIL
if($Flag==1):
	
  $sql = "SELECT Pseudo,Password,Email FROM kdo WHERE Pseudo='$MailActivation'";
  $resultat = mysql_query($sql,$connexion) or die ("Requête incorrecte");
  while ($row = mysql_fetch_array($resultat))
    {
    $Pseudo = $row['Pseudo'];
    $Password=$row['Password'];	
    $Email=$row['Email'];
    }

	  $Sujet  = "Nouvelle inscription au site Mini Kdo";
	  $Entete = "webmaster@$SERVER_NAME";
	  $Destinataire = $Email;
	
	  $Texte="Bonjour,\n\n";
      $Texte.="Un nouveau membre vient de s\'inscrire :\n";
	  $Texte .= "Son nom est : $Pseudo\n\n";
  	  $Texte .= "Son mot de passe est : $Password\n\n";
  	  $Texte .= "Son adresse mail est : $Email.\n";
	  $headers="From: webmaster@SERVER_NAME\n";
	
  	  @mail($adresse_webmaster, $Sujet, $Texte, $headers); // Envoi du mail	
	endif;

	//FERMETURE DE LA CONNEXION	
       mysql_close($connexion);

?>


je pense que mon souci vient de là mais je ne sais pas comment l'écrire

		//LE WEBMASTER RECOIT UN MAIL
if($Flag==1):
	
  $sql = "SELECT Pseudo,Password,Email FROM kdo WHERE Pseudo='$MailActivation'";
  $resultat = mysql_query($sql,$connexion) or die ("Requête incorrecte");
  while ($row = mysql_fetch_array($resultat))
    {
    $Pseudo = $row['Pseudo'];
    $Password=$row['Password'];	
    $Email=$row['Email'];
    }

	  $Sujet  = "Nouvelle inscription au site Mini Kdo";
	  $Entete = "webmaster@$SERVER_NAME";
	  $Destinataire = $Email;
	
	  $Texte="Bonjour,\n\n";
      $Texte.="Un nouveau membre vient de s\'inscrire :\n";
	  $Texte .= "Son nom est : $Pseudo\n\n";
  	  $Texte .= "Son mot de passe est : $Password\n\n";
  	  $Texte .= "Son adresse mail est : $Email.\n";
	  $headers="From: webmaster@SERVER_NAME\n";
	
  	  @mail($adresse_webmaster, $Sujet, $Texte, $headers); // Envoi du mail	
	endif;


je reçois le mail avec
un nouveau membre vient de s'inscrire :
son nom est :
son mot de passe est :
son adresse mail :

est-ce quelqu'un pourrait me dire comme l'écrire correctement svp ?
merci
A voir également:

2 réponses

magicshark Messages postés 402 Date d'inscription   Statut Membre Dernière intervention   13
 
la requete renvoi bien quelque chose ? les variables existent ?
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Salut ...

Comment ça se fait que t'as nommer des variables avec des caractères spéciaux !!!

while ($row = mysql_fetch_assoc($resultat))
{
$DBClé = $row["Cle"];
}

pourquoi une boucle pour extraire l'email de l'utilisateur, puisque t'as utiliser WHERE dans ta requete, et que logiquement l'email est unique, donc t'as pas besoin d'une boucle puisque la requete te retournera un seule ou aucun résultat.



$sql = "SELECT Pseudo,Password,Email FROM kdo WHERE Pseudo='$MailActivation'";
$MailActivation n'est pas définie, non !!! ça devrais plutôt être $MailPseudo ...

Au fait, pour quoi utiliser une autre condition que est le flag, alors que tu peut directement, envoyer un mail si la clé envoyé par mail est égale a la clé se trouvant dans la bdd ...
0