IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

valider une insription par mail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    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?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 104
    Points : 95
    Points
    95
    Par défaut
    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.

  3. #3
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    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
    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

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    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!!

  5. #5
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    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 )
    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

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    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

  7. #7
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    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

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    je créer un tache cron et je met un lien vers le sript qui lui est une php?

  9. #9
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    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

Discussions similaires

  1. [Mail] ajouter d'envoyer une page par mail
    Par Piloupilou999 dans le forum Langage
    Réponses: 1
    Dernier message: 08/03/2007, 00h19
  2. Comment valider une formulaire par la fermeture de la fenêtre?
    Par insane_80 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/02/2007, 10h08
  3. valider un formulaire par mail
    Par guillaume2vo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 16/09/2006, 09h07
  4. [c#] Envoyer une capture d'une application par mail
    Par nesquik dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/07/2006, 17h27
  5. Réponses: 1
    Dernier message: 15/07/2005, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo