|
|
|
|
Bonjour,
je suis webmaster d'un site et je voudrais faire un systeme d'activation du compte : je voudrais que quand une personne s'inscrit sa lui envoie un mail avec un lien sur lequel la personne doit cliquer pour valider son inscription.
je ne sais pas du tout comment faire , je n'est pas de code de depart si vous pouviez m'aider ?
merci beaucoup
Configuration: Windows Vista Firefox 3.5.3
Salut.
|
Merci j'ai bien lis et relis est j'ai donc un petit code . voila j'ai mis dans ma table un champ activation avec la valeur 0 par default . Ensuite j'ai mis dans ma page de traitement de l'inscirption ce code :
mt_srand((float) microtime()*1000000);
$securite = mt_rand(0, 100) ;
$email = $_POST["email"] ;
$headers ='From: "mon site"<$email>'."\n";
$headers .='Reply-To: '."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ="<html><head><title>Un titre ici</title></head><body>
lien d'activation : http://monsite.com/activation.php?login=$pseudo&securite=$securite<br />
</body></html>";
if(mail('$email', 'Activation compte', $message, $headers))
{
echo 'Le message a été envoyé avec succès .Nous allons vous répondre le plus rapidement possible .<br>
Cliquer <a href="index.php">ici </a>pour revenir a index. Merci
';
}
else
{
echo 'Le message n\'a pu être envoyer
Cliquer <a href="index.php">ici pour revenir a index. Merci';
}
Ensuite je dois introduire le code générer dans la case code ( un autre champ de ma table). il faut après que je fasse la page avec un code qui récupère le pseudo , le code d'activation et compare le code avec celui enregistrer , si c'est le même sa update le champ activation a 1 . Et c bon . c'est ça ? merci de m'aider pour la page qui traite de récupérer les donnée et d'updaté . Pouvez vous me dire si mon code marche ? merci beaucoup |
Sans avoir essayé, oui je pense que ca marche (sinon ca n'en est pas loin).
|
Merci je suis en train de réaliser la page qui envoie l'email et j'ai un petit problème . Voila quand j'essaye sa me mets : Le mail na pu être envoyer . Donc le mauvais message . Si vous pouviez regarder le code et me dire ce qui ne va pas . merci Sinon tout a l'aire de marcher , j'introduis dans ma bdd le code de sécurité et je n'est pas encore fais la page de traitements d'activation . Quand j'introduis dans ma bdd les informations , c'est toutes les informations donc c'est pour ça que il y a beaucoup d'informations .
// activation du compte
mt_srand((float) microtime()*1000000);
$securite = mt_rand(0, 100) ;
$email = $_POST["email"] ;
// envoie l'email
$headers ='From: $email ';
$headers .='Reply-To: maxime4213@orange.fr';
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ="<html><head><title>Activation de compte Max-fric.com</title></head><body>
lien activation : http://membres.lycos.fr/max13952/activation.php?login=$pseudo&securite=$securite<br />
</body></html>";
if(mail('$email', 'Activation compte', $message, $headers))
{
echo 'Le message a été envoyé avec succès .Nous allons vous répondre le plus rapidement possible .<br>
Cliquer <a href="index.php">ici </a>pour revenir a index. Merci';
}
else
{
echo 'Le message n\'a pu être envoyer
Cliquer <a href="index.php">ici pour revenir a index. Merci';
}
//On balance le tout dans notre table
Mysql_query('INSERT INTO membre (id,pseudo,email,passe,prenom,naissance,pays,sexe,activation)
VALUES ("","'.$pseudo.'", "'.$email.'", "'.$passe.'", "'.$prenom.'", "'.$naissance.'", "'.$pays.'", "'.$sexe.'","'.$securite.'") ')
or die (mysql_error());
Au passage sa me mets aussi comme erreur : Column count doesn't match value count at row 1 si vous pouviez aussi m'aider a résoudre ce probleme . merci beaucoup de votre aide qui m'aie d'une grande utilité car j'ai besoin de finir mon site très vite . |
Tu ne trouves pas bizarre le ."\n" au bout de ta 3° ligne de headers ?
|
Bon j'ai corriger comme ça mes ça ne marche toujours pas :
|
Avant de dire que ca fonctionne pas, regardes ce que tu as fait:
|
Bon j'ai refais mon code est ça donne ça :
$headers ='From: $email'. "\r\n";
$headers .='Reply-To: '."\r\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'. "\r\n";
$headers .='Content-Transfer-Encoding: 8bit'. "\r\n";
$message ="<html><head><title>Un titre ici</title></head><body>
voter lien est http://membres.lycos.fr/max13952/activation.php?email=$email&securite=$securite
</body></html>";
if(mail('$email', 'site', $message, $headers))
{
echo 'Le message a été envoyé avec succès ..<br>
Cliquer <a href="index.php">ici </a>pour revenir a index. Merci
';
}
else
{
echo 'Le message n\'a pu être envoyer
Cliquer <a href="index.php">ici pour revenir a index. Merci';
}
et ça marche pas ....... |