Activation du compte

max1395 -  
 max1395 -
Bonjour,
je suis webmaster d'un site et je voudrais faire un systeme d'activation du compte : je voudrais que quand une personne s'inscrit sa lui envoie un mail avec un lien sur lequel la personne doit cliquer pour valider son inscription.
je ne sais pas du tout comment faire , je n'est pas de code de depart si vous pouviez m'aider ?

merci beaucoup

28 réponses

max1395
 
oui mais la ça depend de l'adresse de la peronne qui s'inscrit don je ne peux pas savoir
0
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
non, c'est faux. Je sais as ou tu as cru lire ca ...

l'adresse SMTP est soit celle de TON FAI si tu héberge le site chez toi
soit celle de ton hébergeur si ton site est hébergé par un pro
0
max1395
 
a ok merci donc j'attendrais pour finir ça d'avoir mon hebergeur definitif car la c'est un hebergeur grauit ^^ .
merci
0
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
rien ne t'empèche de t'assurer que la fonction fonctionne bien en testant en local avec easyphp ou wamp
0
max1395
 
oui c'est vrai merci je vais essayer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
max1395
 
Bon en attendant j'ai fais la page d'activation , elle n'a pas l'air de marcher si vous pouviez regarder

<?php
include('include.php');
?>
<?

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Vérifie que de bonnes valeurs sont passées en paramètres
     if(!ereg("^[0-9]+$", $_GET["id"]) || !ereg("^[a-f0-9]{8}$", strtolower($_GET["securite"])))
     {
          header("Location: index.php");
     }
     else
     {
          
          // Connexion à la base de données
          // Valeurs à modifier selon vos paramètres configuration
          mysql_connect("localhost", "max13952","lola130895");
          mysql_select_db("max13952_db");
          
          // Sélection de l'utilisateur concerné
          $result = mysql_query("
               SELECT activation , securite , email
               FROM membre
               WHERE email = '" . $_GET["email"] . "'
               AND securite = '" . strtolower($_GET["securite"]) . "'
          ");
          
          // Si une erreur survient
          if(!$result)
          {
               $message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
          }
          else
          {
               
               // Si aucun enregistrement n'est trouvé
               if(mysql_num_rows($result) == 0)
               {
                    header("Location: index.php");
               }
               else
               {
                    
                    // Récupération du tableau de données retourné
                    $row = mysql_fetch_array($result);
                    
                    // Vérification que le compte ne soit pas déjà activé
                    if($row["activation"] != 0)
                    {
                         $message = "Votre compte utilisateur a déjà été activé";
                    }
                    else
                    {
                         
                         // Activation du compte utilisateur
                         $result = mysql_query("
                              UPDATE 
                              SET activation = '1'
                              WHERE email = '" . $_GET["id"] . "'
                              AND securite = '" . strtolower($_GET["clef"]) . "'
                         ");
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Une erreur est survenue lors de l'activation de votre compte utilisateur";
                         }
                         else
                         {
                              $message = "Votre compte utilisateur a correctement été activé";
                         }
                         
                    }
                    
               }
               
          }
          
          // Fermeture de la connexion à la base de données
          mysql_close();
          
     }
     
}

?>
<p><?php
 echo $message; 
?></p>

merci .
0
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}

==>>> perso, j'utiliserai les sessions à ta place, c'est plus passse partout. Car si ton navigateur n'accèpte pas les cookies, les sessions se feront dans l'url

f(!ereg("^[0-9]+$", $_GET["id"]) || !ereg("^[a-f0-9]{8}$", strtolower($_GET["securite"])))
==> comprend aps les expressiosn régulières moi ;) dsl

et quadn tu dis "ca marche pas".... est ce que tu sais ou ca passe ???? dans quel coin ca plante? le message affiché ?
0
max1395
 
Je ne peux pas essayer justement je n'est pas encore configurer le serveur . Mais je vais reformuler le code alors . Ce ne sont que des choiffre la securite
0
max1395
 
Quelqu'un pourrait essayer et me dire si ça marche ?
merci
0