Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2010, 16h46   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
Par défaut valider une insription par mail

voila je suis en train, de créer un espace client pour un petit site de e-commerce
le visiteur, rempli le formulaire d'inscription
1) genre : nom, prenom, adresse, tel email, mot de passe
2) ensuite je lui envoi un mail a l'adresse qu'il m'a fournit, pour plus de sécu, pour qu'il comfirme sont insription

c'est la qu'arrive ma question : ensuite quel est le principe,
je veux dire comment ca se passe entre l'envoi du mail, et l'entregistrement de ses infos dans la bdd
- le mail que j'envoi au visiteur contient un lien vers ma page de vérif + toutes les infos que le visiteur a rempli
et qui seront comparées dnas ma page de vérif grace a un cookie, puis stoké dans la bdd?
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 09h51   #2
Membre régulier
 
Inscription : octobre 2010
Messages : 101
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : octobre 2010
Messages : 101
Points : 71
Points : 71
Salut,

Je pense que le mieux est d'ajouter un champ dans ta BDD du style "activation" avec comme valeur 1 ou 0, par défaut 0. ( ou un booleen suivant ton SGBD )

Dans le mail tu mets un lien vers une page de vérification en passant l'identifiant de l'utilisateur (en POST pour plus de sécurité).

Sur cette page de vérification tu mets à jour le champ "activation" en le passant à 1 pour l'utilisateur dont tu reçois l'identifiant.

Il y a peut-être d'autres méthode mais c'est ce que je ferais.
proxichou est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2010, 11h18   #3
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Comme le dit proxichou (qui vient de se pencher sur mon cas)

Le principe (que j'ai déjà appliqué et qui fonctionne très bien) est le suivant:

Dans ta base de données, dans la table utilisateurs rajoute deux champs:

active (booleen) et passkey (varchar(20))

Ensuite lorsque tu fais l'inscription du membre, tu génères une clef qui n'existe pas (implique un test dans la BDD) et tu insères l'utilisateur en active = 0 avec sa clef.

Tu envoies un email avec un lien vers une page d'activation contenant en paramètres GET le passkey et l'email (ou le pseudo).

Sur cette page, tu récupères le passkey l'email. Tu vérifies que le passkey correspond à l'email et tu vérifies que le compte n'est pas déjà à active = 1.

Si c'est le cas, tu passes le compte à active = 1.

ps: vérifie à nettoyer tes variables GET pour eviter l'injection SQL....

Cordialement, Guillaume
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2010, 14h53   #4
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
ok super merci pour cette aide précieuse
une dernière question, si le visiteur ne clic jamais sur le lien d'inscrition, envoyé dans le mail
je dois donc l'enlever de la bdd au bout d'un certain temps
comment procéderiez vous?

encore merci!!
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h12   #5
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Je procederais comme ceci:

ajout d'un champs: date_inscription dans la table utilisateurs puis une tache CRON (infos) sur un script qui vérifie les dates d'inscription et qui notifie par mail au bout de 1,2 jours qu'il doit valider (en redonnant le lien). Et si au bout d'une semaine l'utilisateur n'a toujours pas validé, toujours avec le même fichier de tache cron, faire la suppression du compte

Foilà

(penser à voter pour les messages en bas à droite )
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2010, 16h17   #6
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
si j'ai bien compris cron, ca marche sous unix, donc sous un serveur linux? c'est ca? y'a t'il un truc simple pour piger tout ca,
car c'est pas hyper parlant pour moi
merci

tu as raison je vais faire attention de bien voter a chaque bonne réponse,
t'as vu c'est fait pour les précédentes
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 16h39   #7
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Citation:
si j'ai bien compris cron, ca marche sous unix, donc sous un serveur linux? c'est ca?
Tout à fait, c'est sous linux.

Alors une tâche CRON doit pouvoir se gérer depuis ton hébergeur (en général). OVH le propose même pour des mutualisés si je me souviens bien.

En gros (sous ovh) tu créés une nouvelle tâche CRON et il suffit de mettre le lien vers le script. Pas plus compliqué que ça. Ah si, il faut indiquer tous les combien le script doit s'exécuter.

edit: Soit dit en passant, si tu veux tester ta tache CRON, suffit d'y acceder directement (sous windows) tu tapes l'adresse du script localhost/test/cron.php. La tache cron ne fait qu'un simple appelle au fichier fourni.

Exemple dans ton cas: tous les soirs je mettrais.
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2010, 17h54   #8
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 136
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 136
Points : 14
Points : 14
je créer un tache cron et je met un lien vers le sript qui lui est une php?
artichaudd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 19h58   #9
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Ouaip, c'est ça.

La tache CRON fait un appel du script (qui est en php).
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h46.


 
 
 
 
Partenaires

Hébergement Web