Alutatous! j'utilise ce code pour un espace membre, mais il y a un buggue et cela affiche toujours Une erreur est survenue lors de la création de votre compte utilisateur...
voila mon code:(je l'ai adapté pour l'afficher ici sans tout le design etc.)
<? // 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
$connect = mysql_connect("adresse de ma base","nom","mdp");
/* sélection de la base */
mysql_select_db("base", $connect);
// Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
mysql_query("le texte de la requete sql
SELECT Nom_Utilisateur
, Adresse_Email
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
OR Adresse_Email = '" . $_POST["TB_Adresse_Email"] . "'
", $connect);
// Si une erreur survient
//if(!$result)
//{
// $message = "Une erreur est survenue lors de la création de votre compte utilisateur";
// }
// 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 . "'
)
", $connect);
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la création de votre 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.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éé<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 xmlns=" http://www.w3.org/1999/xhtml " xml:lang="en" lang="en">
<head>
<link rel="stylesheet" href="images/1.css" type="text/css" />
<title>Inscription</title>
<style type="text/css">
<!--
.Style1 {font-weight: bold}
-->
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<h1 id="logo-text"> </h1>
</div>
<?
include("menuhaut.php");
?>
<div id="content-wrap">
<?
include("menu.php");
?>
<p>
</p>
<p> <div id="main">
<h2><a href="#">Inscription</a><br />
<br />
</h2>
<p class="post-by">Inscrivez-vous pour avoir acces aux téléchargements, des bonus, des avant-premieres...</p>
<p><? if(isset($message)) { ?>
<p><?= $message; ?>
<? } if($masquer_formulaire != true) { ?>
</p><form action="inscription.php" 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 align="center">
<input name="BT_Envoyer" type="submit" class="button" value="Envoyer" />
<input name="button" type="reset" class="button" id="button" value="Réinitialiser" />
</p>
</form> </p>
<? } ?><p> </p>
<p align="center" class="Style17"> </p>
<p> </p>
<p> </p>
</p>
</div> </p>
</div>
</div>
</body>
</html>