je cherche un script permettant :

je m'incris sur un site avec un formulaire
normalement je dois recevoir des identifiants mais
que lorsque l'administrateur aura valide l'inscription
peut on toujours notifie a l'administrateur l'inscritpion
mais envoyé automatiquement les identifiants apres inscription
et tout cela en php
merci de la reponse
JOHNDOE a écrit :
je cherche un script permettant :
..............
merci de la reponse

Tu peux tout controler, mais inutile de t'en envoyer un.
De toute façon il ne sera inscrit que si il clic sur le lien
du mail qu'il va recevoir.

Tu sais cela donne une bonne sécuritée, car au moins il a mis un mail valide ...
Modifié par Christele (24 Nov 2009 - 18:14)

<?

// 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["clef"])))
{
header("Location: index.php");
}
else
{

// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("asp-php");

// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur
, Compte_Active
, Clef_Activation
FROM Comptes_Utilisateurs
WHERE ID_Utilisateur = '" . $_GET["id"] . "'
AND Clef_Activation = '" . strtolower($_GET["clef"]) . "'
");

// 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["Compte_Active"] != 0)
{
$message = "Votre compte utilisateur a déjà été activé";
}
else
{

// Activation du compte utilisateur
$result = mysql_query("
UPDATE Comptes_Utilisateurs
SET Compte_Active = '1'
WHERE ID_Utilisateur = '" . $_GET["id"] . "'
AND Clef_Activation = '" . 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();

}

}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[PHP] Cr&eacute;er un espace membre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p><?= $message; ?></p>
</body>
</html>

page enregistre sous activer-compte-utilisateur.php

<?

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          
          // Vérification de la validité des champs
          if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
          {
               $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
               $message .= "L'utilisation de l'underscore est autorisée";
          }
          elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
          {
               $message = "Votre mot de passe doit comporter au moins 4 caractères";
          }
          elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
          {
               $message = "Votre mot de passe n'a pas été correctement confirmé";
          }
          elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
               $_POST["TB_Adresse_Email"]))
          {
               $message = "Votre adresse e-mail n'est pas valide";
          }
          else
          {
               
               // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
                mysql_connect("localhost", "root", "");
               mysql_select_db("asp-php");
               
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
               $result = mysql_query("
                    SELECT Nom_Utilisateur
                         , Adresse_Email
                    FROM Comptes_Utilisateurs
                    WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
                    OR Adresse_Email = '" . $_POST["TB_Adresse_Email"] . "'
               ");
               
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
                    
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              
                         }
                         
                    }
                    else
                    {
                         
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO Comptes_Utilisateurs(
                                   Nom_Utilisateur
                                   , Mot_de_Passe
                                   , Adresse_Email
                                   , Date_Inscription
                                   , Clef_Activation
                              )
                              VALUES(
                                   '" . $_POST["TB_Nom_Utilisateur"] . "'
                                   , '" . md5($_POST["TB_Mot_de_Passe"]) . "'
                                   , '" . $_POST["TB_Adresse_Email"] . "'
                                   , '" . time() . "'
                                   , '" . $clef_activation . "'
                              )
                         ");
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                              
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer<br />\n";
                                   $message .= "Un email vient de vous être envoyer afin de l'activer";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              }
                              
                         }
                         
                    }
                    
               }
               
          }
          
          // Fermeture de la connexion à la base de données
          mysql_close();
          
     }
     
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>[PHP] Cr&eacute;er un espace membre</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
     </p>
     <p>
          Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</form>
<? } ?>
</body>
</html>


page a enregistrer sous creer-compte-utilisateur.php


<?

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: acceuil.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          
          // Vérification de la validité des champs
          if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
          {
               $message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
               $message .= "L'utilisation de l'underscore est autorisée";
          }
          elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
          {
               $message = "Votre mot de passe doit comporter au moins 6 caractères";
          }
          else
          {
               
               // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
                mysql_connect("localhost", "root", "");
               mysql_select_db("asp-php");
               
               // Sélection de l'utilisateur concerné
               $result = mysql_query("
                    SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
                    FROM Comptes_Utilisateurs
                    WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
               ");
               
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Une erreur est survenue lors de la tentative de connexion";
               }
               else
               {
                    
                    // Si aucun utilisateur n'a été trouvé
                    if(mysql_num_rows($result) == 0)
                    {
                         $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
                    }
                    else
                    {
                         
                         // Récupération des données
                         $row = mysql_fetch_array($result);
                         
                         // Si le compte n'a pas été activé
                         if($row["Compte_Active"] == 0)
                         {
                              $message = "Votre compte utilisateur n'a pas été activé";
                         }
                         else
                         {
                              
                              // Vérification du mot de passe
                              if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
                              {
                                   $message = "Votre mot de passe est incorrect";
                              }
                              else
                              {
                                   
                                   // Définition du temps d'expiration des cookies
                                   $expiration =
                                        empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
                                   
                                   // Création des cookies
                                   setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
                                   setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
                                   
                                   // Fermeture de la connexion à la base de données
                                   mysql_close();
                                   
                                   // Redirection de l'utilisateur
                                   header("Location: acceuil.php");
                                   
                              }
                              
                         }
                         
                    }
                    
               }
               
               // Fermeture de la connexion à la base de données
               mysql_close();
               
          }
          
     }
     
}

?>
<html>
<head>
     <title>[PHP] Créer un espace membre</title>
</head>

<body>
<? if(isset($message)) { ?>
     <p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          <input type="checkbox" name="CB_Connexion_Automatique" />
          Se connecter automatiquement à chaque visite
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</form>
<? } ?>
</body>
</html>



page a enregistrer sous connexion.php


<?

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: acceuil.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          
          // Vérification de la validité des champs
          if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
          {
               $message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
               $message .= "L'utilisation de l'underscore est autorisée";
          }
          elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
          {
               $message = "Votre mot de passe doit comporter au moins 6 caractères";
          }
          else
          {
               
               // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
                mysql_connect("localhost", "root", "");
               mysql_select_db("asp-php");
               
               // Sélection de l'utilisateur concerné
               $result = mysql_query("
                    SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
                    FROM Comptes_Utilisateurs
                    WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
               ");
               
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Une erreur est survenue lors de la tentative de connexion";
               }
               else
               {
                    
                    // Si aucun utilisateur n'a été trouvé
                    if(mysql_num_rows($result) == 0)
                    {
                         $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
                    }
                    else
                    {
                         
                         // Récupération des données
                         $row = mysql_fetch_array($result);
                         
                         // Si le compte n'a pas été activé
                         if($row["Compte_Active"] == 0)
                         {
                              $message = "Votre compte utilisateur n'a pas été activé";
                         }
                         else
                         {
                              
                              // Vérification du mot de passe
                              if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
                              {
                                   $message = "Votre mot de passe est incorrect";
                              }
                              else
                              {
                                   
                                   // Définition du temps d'expiration des cookies
                                   $expiration =
                                        empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
                                   
                                   // Création des cookies
                                   setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
                                   setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
                                   
                                   // Fermeture de la connexion à la base de données
                                   mysql_close();
                                   
                                   // Redirection de l'utilisateur
                                   header("Location: acceuil.php");
                                   
                              }
                              
                         }
                         
                    }
                    
               }
               
               // Fermeture de la connexion à la base de données
               mysql_close();
               
          }
          
     }
     
}

?>



a mettre tout en haut de votre page index aucun caractere ne doit se trouver avant ce code



<? if(isset($message)) { ?>
     <p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
     <p>
     <div class="submenu" style="color:#6e6e6e">Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     
     <br />
     
          Mot de passe : &nbsp;&nbsp;&nbsp;&nbsp;<input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          <input type="checkbox" name="CB_Connexion_Automatique" />
          Se connecter automatiquement à chaque visite
     </p>
     </div>
     <p>
          <input type="submit" name="BT_Envoyer" value="Se connecter" />
     </p>
</form>
<? } ?>
            <? if(isset($_COOKIE["ID_UTILISATEUR"])) { ?>
            
            <? } else { ?>
            <p>
            <a href="creer_compte_utilisateur.php">Créer un compte utilisateur</a>
            </p>
            <? } ?>



a mettre on vous voulez dans votre page index



<?

// Redirige l'utilisateur s'il n'est pas identifié
if(empty($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Suppression des cookies
     setcookie("ID_UTILISATEUR", "", time() - 1, "/");
     setcookie("NOM_UTILISATEUR", "", time() - 1, "/");
     
     // Redirection de l'utilisateur
     header("Location: index.php");
     
}

?>



a enregistrer sous deconnexion.php



<?
if(!isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
} else {
Print ("&nbsp;");
}

?>



a mettre en haut de chaque page que vous voulez proteger aucun caractere avant ce code

voila avec tous ces post tu devrais pour voir creer un cont utilisateur j'espere t'avoir aider
Salut,

@cobra-dcs > c'est sympa de ta part de fournir du code tout fait mais ça va à l'encontre de l'une des règles du forum. L'idée est d'aider les autres à apprendre et pas de faire en sorte qu'ils copient/collent des bouts de code sans rien apprendre justement. Smiley cligne
desoler Heyoan je savait pas car c'est comme ca que j'apprend moi je recupere des script et j'essaie de les comprendre mais promis je recommencerai pas
Salut Cobra-dcs; il est trés cool le script;
j'ai quand même, un petit soucis, lors de l'activitation du compte utilisateur, en effet, quand on clique sur le mail d'activation la page s'ouvre avec cette erreur "Une erreur est survenue lors de l'activation de votre compte utilisateur";
ce serait vraiment cool si tu pouvez m'aider car j'ai passer des heures à relire le code mais rien n'y fait !
Merci d'avance