<?php
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID"]))
{
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(!mb_ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Pseudo"]))
{
$message = "Votre pseudo doit comporter entre 4 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!mb_ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Pass"]))
{
$message = "Votre mot de passe doit comporter au moins 4 caractères";
}
elseif($_POST["TB_Pass"] != $_POST["TB_Confirm_Pass"])
{
$message = "Votre mot de passe n'a pas été correctement confirmé";
}
elseif(!mb_ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
$_POST["TB_E_mail"]))
{
$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("siteaimemoi");
// Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
$result = mysql_query("
SELECT Pseudo
, E_mail
FROM membres
WHERE Pseudo = '" . $_POST["TB_Pseudo"] . "'
OR E_mail = '" . $_POST["TB_E_mail"] . "'
");
// 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_Pseudo"] == $row["Pseudo"])
{
$message = "Le pseudo" . $_POST["TB_Pseudo"];
$message .= "est déjà utilisé";
}
elseif($_POST["TB_E_mail"] == $row["E_mail"])
{
$message = "L'adresse e-mail " . $_POST["TB_E_mail"];
$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 membres(
Pseudo
, Pass
, E_mail
, Date_Inscri
, Clef_Activation
)
VALUES(
'" . $_POST["TB_Pseudo"] . "'
, '" . md5($_POST["TB_Pass"]) . "'
, '" . $_POST["TB_E_mail"] . "'
, '" . 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 !";
$message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
$message .= "http://" . $_SERVER["SERVER_NAME"];
$message .= "/activer-compte.php?id=" . mysql_insert_id();
$message .= "&clef=" . $clef_activation;
// Si une erreur survient
if(!@mail($_POST["TB_E_mail"], $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 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();
}
}
?>
Partager