A voir également:
- Activation du compte
- Clé d'activation windows 10 gratuit - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Supprimer compte instagram - Guide
- Créer un compte instagram sur google - Guide
28 réponses
natsu46
Messages postés
3
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2009
24 sept. 2009 à 13:43
24 sept. 2009 à 13:43
tu le fais comment ton site?
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
24 sept. 2009 à 13:52
24 sept. 2009 à 13:52
salut.
je ne sais pas a quel niveau tu en es, si tu as déja créé les comptes ou pas.
dans ta base de données, dans la table "utilisateurs", tu vas avoir les champs login, mot_de_passe (à crypter en md5 ou sha1, et comparer les mots de passes cryptés pour plus de sécurité), activation et email
lors de l'inscription, tu mettras "activation" à 0
si quelqu'un veut se loguer avec un compte dont l'activation est à 1, tu l'autorise, sinon, tu le refuses.
lors de l'inscription, après avoir inséré les données dans la base de données, tu envoies un mail (fonction mail, vas voir les exemples en ligne)
ce mail doit contenir un lien qui pointe sur une page "activation". Ce lien contiendras dans les paramètres le login de la personne (et meme un champs de sécurité si tu veux
exemple: http://www.monsite.com/activation?login=blabla&securite=6844fs4f
poru calculer la valeur de securite, tu peux par exemple faire
$securite = md5($login."ma securité")
dans le script activation, tu vas verifier que la clef de sécuité est cororecte
if($_GET['securite']==md5(md5($_GET['login]."ma securité")))
{
ta requete sql pour updater l'etat de activation dans la table utilisateurs pour les entrées dont le login correspond à celui qui est communiqué
}
et voila....
si tu ne comprends pas une partie, je veux bien détailler un peu plus, mais il faut que tu sois précis
je n'ai pas de code tout prêt à te donner
n'hésites pas à donner du code que tu as déja fait, ou de nous dire à quel état d'avancement tu en est dans le site
je ne sais pas a quel niveau tu en es, si tu as déja créé les comptes ou pas.
dans ta base de données, dans la table "utilisateurs", tu vas avoir les champs login, mot_de_passe (à crypter en md5 ou sha1, et comparer les mots de passes cryptés pour plus de sécurité), activation et email
lors de l'inscription, tu mettras "activation" à 0
si quelqu'un veut se loguer avec un compte dont l'activation est à 1, tu l'autorise, sinon, tu le refuses.
lors de l'inscription, après avoir inséré les données dans la base de données, tu envoies un mail (fonction mail, vas voir les exemples en ligne)
ce mail doit contenir un lien qui pointe sur une page "activation". Ce lien contiendras dans les paramètres le login de la personne (et meme un champs de sécurité si tu veux
exemple: http://www.monsite.com/activation?login=blabla&securite=6844fs4f
poru calculer la valeur de securite, tu peux par exemple faire
$securite = md5($login."ma securité")
dans le script activation, tu vas verifier que la clef de sécuité est cororecte
if($_GET['securite']==md5(md5($_GET['login]."ma securité")))
{
ta requete sql pour updater l'etat de activation dans la table utilisateurs pour les entrées dont le login correspond à celui qui est communiqué
}
et voila....
si tu ne comprends pas une partie, je veux bien détailler un peu plus, mais il faut que tu sois précis
je n'ai pas de code tout prêt à te donner
n'hésites pas à donner du code que tu as déja fait, ou de nous dire à quel état d'avancement tu en est dans le site
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 :
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
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
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
26 sept. 2009 à 12:11
26 sept. 2009 à 12:11
sans avoir essayé, oui je pense que ca marche (sinon ca n'en est pas loin).
le seule truc, c'est que pour la sécurité, tu le crée de manière aléatoire, entre 1 et 100... et tu n'enregistres pas le résultat dans la base de données!!! moi je créais ca a partir d'un cryptage md5 (donc pas aléatoire du tout, mais dépendant du login) et je n'avais donc pas besoin de l'enregistrer dans la base de données
lis les tutopriaux sur les base de données du siteduzero pour utiliser la base de donénes
pour la page d'activation, interesses toi à cette partie:
$securite = md5($login."ma securité")
//dans le script activation, tu vas verifier que la clef de sécuité est correcte
if($_GET['securite']==md5(md5($_GET['login]."ma securité")))
{
$requete="update utilisateurs set activation = 1 where login = $_GET[login]";
//et la t'executes la requete ..
.....
}
le seule truc, c'est que pour la sécurité, tu le crée de manière aléatoire, entre 1 et 100... et tu n'enregistres pas le résultat dans la base de données!!! moi je créais ca a partir d'un cryptage md5 (donc pas aléatoire du tout, mais dépendant du login) et je n'avais donc pas besoin de l'enregistrer dans la base de données
lis les tutopriaux sur les base de données du siteduzero pour utiliser la base de donénes
pour la page d'activation, interesses toi à cette partie:
$securite = md5($login."ma securité")
//dans le script activation, tu vas verifier que la clef de sécuité est correcte
if($_GET['securite']==md5(md5($_GET['login]."ma securité")))
{
$requete="update utilisateurs set activation = 1 where login = $_GET[login]";
//et la t'executes la requete ..
.....
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 .
voila le code qui envoie le message :
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 .
voila le code qui envoie le message :
// 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 .
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
27 sept. 2009 à 14:21
27 sept. 2009 à 14:21
essayes de regler ton serveur smtp avec la fonction set_ini("smtp","......")
en, completant l'adresse du smtp
en, completant l'adresse du smtp
Non ce n'est pas le probleme car quand je veux envoyer un message en l'indiquant directement sa marche
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
28 sept. 2009 à 09:56
28 sept. 2009 à 09:56
tu ne trouves pas bizarre le ."\n" au bout de ta 3° ligne de headers ?
moi, ce que je trouve encore plus bizarre, c'est qu'il n'y ai pas son petit copain "\r" avec lui !
regardes l'exemple 4: https://www.php.net/manual/fr/function.mail.php
toutes les lignes de headers doivent se terminer par \r\n
moi, ce que je trouve encore plus bizarre, c'est qu'il n'y ai pas son petit copain "\r" avec lui !
regardes l'exemple 4: https://www.php.net/manual/fr/function.mail.php
toutes les lignes de headers doivent se terminer par \r\n
bon j'ai corriger comme ça mes ça ne marche toujours pas :
<code>
<?php
$headers ='From: $email "\r\n" ';
$headers .='Reply-To: '."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'. "\r\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ="<html><head><title>Un titre ici</title></head><body>
voter lien est http://**************/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';
}
?>
<code>
<?php
$headers ='From: $email "\r\n" ';
$headers .='Reply-To: '."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'. "\r\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ="<html><head><title>Un titre ici</title></head><body>
voter lien est http://**************/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';
}
?>
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
29 sept. 2009 à 09:11
29 sept. 2009 à 09:11
avant de dire que ca fonctionne pas, regardes ce que tu as fait:
$headers ='From: $email "\r\n" ';
$headers .='Reply-To: '."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'. "\r\n";
$headers .='Content-Transfer-Encoding: 8bit';
et regardes l'exemple:
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Anniversaire <anniversaire@example.com>' . "\r\n";
$headers .= 'Cc: anniversaire_archive@example.com' . "\r\n";
$headers .= 'Bcc: anniversaire_verif@example.com' . "\r\n";
donc tu étudies ca, et tu reproposes un code...
$headers ='From: $email "\r\n" ';
$headers .='Reply-To: '."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'. "\r\n";
$headers .='Content-Transfer-Encoding: 8bit';
et regardes l'exemple:
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Anniversaire <anniversaire@example.com>' . "\r\n";
$headers .= 'Cc: anniversaire_archive@example.com' . "\r\n";
$headers .= 'Bcc: anniversaire_verif@example.com' . "\r\n";
donc tu étudies ca, et tu reproposes un code...
bon j'ai refais mon code est ça donne ça :
et ça marche pas .......
$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 .......
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
30 sept. 2009 à 09:14
30 sept. 2009 à 09:14
message 6
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
30 sept. 2009 à 13:39
30 sept. 2009 à 13:39
je te disais de vérifier que le smtp était bien précisé ...
1- es ce que tu travailles en local (avec easyphp, wamp ou autre), ou directement sur ton hébergeur ?
2- que retournes cette ligne de commande: echo ini_get('SMTP');
1- es ce que tu travailles en local (avec easyphp, wamp ou autre), ou directement sur ton hébergeur ?
2- que retournes cette ligne de commande: echo ini_get('SMTP');
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
30 sept. 2009 à 16:12
30 sept. 2009 à 16:12
et tu es sur que l'envoi d'emails depuis ton site est autorisé ?
chez free par exemple,c 'est autorisé, mais limité (1000 ou 2000 mails par semaine)
essayes peut etre en local, avec easyphp, et utilises la fonction ini_set pour parametrer le SMTP de ton FAI
chez free par exemple,c 'est autorisé, mais limité (1000 ou 2000 mails par semaine)
essayes peut etre en local, avec easyphp, et utilises la fonction ini_set pour parametrer le SMTP de ton FAI
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
1 oct. 2009 à 17:23
1 oct. 2009 à 17:23
si echo ini_get('SMTP'); ne renvoie rien,c a veut dire que la fonction mail ne saura pas quel serveur utiliser. Ca ne marchera pas.
il faut forcement préciser un serveur smtp (soit c'est déja fait, soit c'est à toi de le faire)
il faut forcement préciser un serveur smtp (soit c'est déja fait, soit c'est à toi de le faire)