Se connecter / S'enregistrer
Votre question

[PHP]Mail activation

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
2 Novembre 2009 18:50:33

Salut ,

Voilà j'ai un petit problème d'ordre conceptuel , je suis en train de faire un petit espace membre , pour l'instant j'ai fait l'enregistrement d'un membre ( id , login , pass , mail ) et son identification , et là je veux faire une activation du compte par mail , donc j'ai fait une page activation.php qui update la colonne compte_actif en 1 !
ça fonctionne a merveille mais je voudrais savoir quelle méthode est la meilleur , je m'explique :

le lien envoyer au mail du compte pour l'activé est : http://.../activation.php?id=x&mail=truc@truc.com

ici comme l'id est en auto_increment , si par exemple j'affiche le nombre de membre d'inscrit dans la page d'accueil ça serait facile de contourner le mail de confirmation..

donc je me suis dis je vais créer une colonne key et mettre un nombre de 6chiffres au hasard en envoyer le lien : http://.../activation.php?key=x&mail=truc@truc.com

mais là encore je me suis dis que c'est possible que plusieurs membres aient la même key ( mais pas le même mail effectivement..) et si un jour je voudrais utiliser la key pour un autre module je serais pas dans le caca..

je me suis aussi dit d'utiliser key en clé primaire et non id puis faire un nombre aléatoire de 6chiffres mais la comme il y a risque de duplication l'idée de faire une requête pour savoir si la key existe déjà je trouve ça un peu lourd..

Donc voilà je me demande quelle méthode est la meilleur !
pour moi c'est la 2 bien que la duplication key me gêne un peu (bien que la probabilité est faible..)

Thxx

Autres pages sur : php mail activation

2 Novembre 2009 20:16:32

Bonjour,

Pour créer une clé unique aléatoire, sert toi de time();
m
0
l
a c 145 L Programmation
2 Novembre 2009 22:09:41

Ou mieux, utilise uniqid(). Le "encore meilleur" étant md5(uniqid(mt_rand(), true))
m
0
l
4 Novembre 2009 11:54:38

Merci pour vos réponses !
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS