Bonjour,
Je viens vers vous car j'ai une erreur que je n'arrive pas a trouver. J’espère avoir respecter les règles du forum et surtout avoir poster au bon endroit...
Je m'explique sur mon souci : J'ai recuperer un site, pour l'utiliser il faut se logger ou crée un compte or c'est a la creation de compte que j'ai probleme.
Si l'inscription ce passe bien (Envoie mail OK, Mail reçu OK, Code code confirmation generer et envoyé par mail OK) Une fois que l'oin clique sur le lien du mail d'activation j'ai "Erreur : aucun code n'est indiqué !".
Je vous joint le code :
#INSCRIPTION
Voici pour l'inscription je n'ai pas signalé que le site etait en mode alpha chez OVH caché dans un site que j'ai deja.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 //Hashage du mot de passe avec md5(). $mdp_mail=$mot_passe; $mot_passe = md5($mot_passe); //Génération du code de confirmation. $lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789'; $lettres_chiffres_melanges = str_shuffle($lettres_chiffres); $code_confirmation = substr($lettres_chiffres_melanges, 1, 10); // Génération aléatoire d'une clé. $code_confirmation = md5(microtime(TRUE)*10000); //Envoi du mail de confirmation. $message = ' Bonjour '.$pseudo.'<br /> Vous venez de vous inscrire sur "pouet" -ou un cake s\'est amusé avec votre adresse email ;) - et pour valider votre inscription, vous devez cliquer sur le lien suivant : <a href="http://www.pouet.fr/pouet/www/pouet/confirmation.php?code='.$code_confirmation.'&pseudo='.$pseudo.'">http://www.pouet.fr/pouet/www/pouet/confirmation.php?code='.$code_confirmation.'&pseudo='.$pseudo.'</a><br /> Votre mot de passe : <b>'.$mdp_mail.'</b><br /><br />Merci et depechez vous, votre plouc s\'ennuie déjà !<br /><br /><b>L equipe de Rock N Plouc</b>'; { // Préparation du mail contenant le lien d'activation $destinataire = $email; $sujet = "Activer votre compte" ; $entete = "From: pouet" ; // Le lien d'activation est composé du login(log) et de la clé(cle) $message = 'Bienvenue sur pouet, Pour activer votre compte, veuillez cliquer sur le lien ci dessous ou copier/coller dans votre navigateur internet. www.pouet.fr/pouet/www/pouet/confirmation.php?pseudo='.urlencode($pseudo).'&cle='.urlencode($code_confirmation).' --------------- Ceci est un mail automatique, Merci de ne pas y répondre.';
#CONFIRMATION
Voila si quelqu'un trouver l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //Vérification que la variable $_GET['code'] existe et contient quelque chose. if (isset($_GET['code'],$_GET['pseudo'])) { //Mesure de sécurité, notamment pour éviter les injections sql. $pseudo = htmlspecialchars($_GET['pseudo']); $code_confirmation = htmlspecialchars($_GET['code']); //On cherche le nombre de code $code dans la table membres. $sql = ("SELECT id FROM membres WHERE confirmation_code='".$code_confirmation."' AND pseudo='".$pseudo."'"); $sql = mysql_query($sql) or die(mysql_error()); //Si le code existe. if (mysql_num_rows($sql)== 1) { //Information sur le compte (id et confirmation) $sql_infos = mysql_query("SELECT id, confirmation, pseudo FROM membres WHERE confirmation_code='".$code_confirmation."' AND pseudo='".$pseudo."'"); $donnees = mysql_fetch_array($sql_infos); $confirm_id = $donnees['id']; $confirm_pseudo = $donnees['pseudo']; //On regarde si il n'est pas deja confirmé. if ($donnees['confirmation'] == 0) { //Validation du compte. mysql_query("UPDATE membres SET confirmation=1 WHERE id=".$donnees['id']);
En vous remerciant par avance...
Toto
Partager