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 :

[Mail] Envoyer e-mail d'activation [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut [Mail] Envoyer e-mail d'activation
    salut
    comment envoyer un Mail d'activation a un membre qui vient de s'inscrire et l'empechant d'acceder à son espace membre avant de cliquer sur ce lien ?
    merci et @+

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ce n'est que Théorie j'ai jamais testé...

    Dans ton mail tu mets ton lien avec une certaine chaine qui aura pour but d'aller sur ton site et de lancer une opération dans le header.php par exemple.

    Cette opération se connectera à la bdd et modifiera un champ de ta bdd du style compte activé (user_active) se qui permettra au client de se connecter.

    Bien sur il faut que ce champ soit faux avant le lancement de cette page...

    Tu vois un peu mon idée...

    Maintenant il faut trouver le $_GET que tu vas mettre dans l'url pour montrer au header que c'est une activation et le user_id du client.

    Tu approuves ou pas ?? lol

    ps: on me dira que c'est quasiment comme ca que les forums phpbb mais bon j'en ai un donc je base dessus lol

  3. #3
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    merci
    voila j'envoie a chaque nouveau membre un lien vers une page activaton.php, le lient va emporter le Id_membre, et la page permetra de changer un champ de la table membre de 0 a 1, ouvrir une session puis le redireger vers l'index.
    et au moment de l'authentification je test a chaque fois si le membre a activer son compte ou non.
    c'est tous? y'a pas d'autres details?
    @+

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Si la session est déjà ouverte pas besoin de retester si le compte est activé je pense...

    Mais si pas de session et qu'il y a tentative de connection il faudrait effectivement tester le champ user_active...

    Sinon à part tout ce que j'ai dis (proposé) je vois pas ce qui pourrait manquer...Teste et tiens nous au courant et s'il manque quelque chose on completera

  5. #5
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Il faut un code d'activation en plus.

    Vous ajoutez un champ cod_activation de type CHAR(8) non nul dans votre base.
    Vous ajoutez un champ de type activation de type DATETIME pouvant être nul.
    Vous générez un mot aléatoire de 8 lettres.
    Vous insérez votre utilisateur dans la base en insérant le code activation mais pas la date d'activation qui reste nulle évidemment.

    INSERT INTO UTILISATEUR
    (ID_UTILISATEUR,MAIL_UTILISATEUR,MDP_UTILISATEUR,COD_ACTIVATION)
    VALUES (5,'toto@example.org','aaaaaaaaaaa','abcdefghi');

    Vous envoyez un mail contenant un lien avec le numéro de membre et le code d'activation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Bonjour toto,
     
    Cliquez sur ce lien pour activer votre compte :  http://www.example.org/activation.php?id=5&activation=abcdefghi
     
    Bye bye
    Su la page d'activation, vous vérifiez qu'à l'id_membre correspond bien
    au code activation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE  UTILISATEUR 
       SET ACTIVATION=CURRENT_DATETIME 
     WHERE ID_UTILISATEUR=5 
       AND COD_UTILISATEUR='abcdefghi' 
       AND ACTIVATION IS NULL
    Si la requête ne modifie aucune ligne, alors c'est que :
    • le code est erroné
    • l'utilisateur a été effacé
    • le compte est déjà activé
    Dans la page d'identification, vous ajoutez un test qui vérifie que la date d'activation n'est pas nulle.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ca aussi c'est bien

  7. #7
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    merci Alexandre T egalement Kerod c'est super
    d'apres mes connaisses, on envoie un lien d'activation à un nouveau membre pour etre sur que son adresse e-mail est valide.
    mais avec cette methode je pense que c'est plus que ça ?est ce c'est pour des raison de securité ?

    Citation Envoyé par Alexandre T
    Si la requête ne modifie aucune ligne, alors c'est que :
    • le code est erroné
    • l'utilisateur a été effacé
    • le compte est déjà activé
    comment un code peut etre erroné?
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] Envoyer un mail sans logiciel
    Par poitierjohan dans le forum Langage
    Réponses: 3
    Dernier message: 16/08/2006, 06h49
  2. [Mail] Envoyer un mail avec retour d'erreur
    Par phpaide dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2006, 15h49
  3. [Mail] Envoyer un mail
    Par Poutchou dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2006, 12h19
  4. [Mail] Envoyer des mails simplement avec PHP
    Par mailou dans le forum Langage
    Réponses: 4
    Dernier message: 29/01/2006, 17h21
  5. [Mail] envoyer un mail qui n'est pas anonyme
    Par mzt.insat dans le forum Langage
    Réponses: 21
    Dernier message: 10/12/2005, 09h16

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