Me revoilà.
Je vous présente le code final, enfin normalement. Sauf que ça bug encore un peu. :p
<form method="POST">
<p class="normalgris"><strong>Formulaire d'inscription : </strong>
</p><br/>
<span class="petitvert">Pseudonyme : </span>
<div id="champs"><input name="Pseudonyme" type="text"/></div><br />
<span class="petitvert">Mot de Passe : </span>
<div id="champs"><input type="password" name="Mdp" /></div><br />
<span class="petitvert">Confirmation du mot de passe :</span><br />
<div id="champs"><input type="password" name="Confirmation_mdp" /></div><br />
<span class="petitvert">Adresse e-mail : </span>
<div id="champs"><input type="text" name="Email" /></div><br />
<span class="petitvert">Confirmtion de l'adresse e-mail : </span>
<div id="champs"><input type="text" name="Confirmation_Email" /></div><br /><br/>
<input name="validation" type="submit" value="S'enregistrer" />
</form>
<?php
/* Identification SQL */
$serv = "";
$login = "";
$pass = "";
/* ================== */
/* ================================ SYSTEME ================================= */
if (isset($_POST['Pseudonyme']) && isset($_POST['Mdp']) && isset($_POST['Confirmation_mdp']) && isset($_POST['Email']) && isset($_POST['Confirmation_Email'])) {
/* Affectation Variables */
$pseudo = $_POST['Pseudonyme'];
$mdp = $_POST['Mdp'];
$confirmation_mdp = $_POST['Confirmation_mdp'];
$email = $_POST['Email'];
$confirmation_email = $_POST['Confirmation_Email'];
$erreur = null;
/* Si verif different de true alors switch est utiliser pour afficher le type d'erreur */
if((verif($pseudo,$mdp,$confirmation_mdp,$email,$confirmation_email)) !== true){
switch ($erreur = verif($pseudo,$mdp,$confirmation_mdp,$email,$confirmation_email,$erreur)){
case 1: /* Erreur Mail */
erreur("Votre adresse email n'est pas valide.");
break;
case 2: /* Erreur Mdp ou Email */
erreur("Vous n'avez pas entrer deux mot de passe identique, ou, deux adresses emails identiques.");
break;
case 3: /* Erreur champs vides */
erreur("Un ou plusieurs champ du formulaires sont vides.");
break;
}
}
else{
if(($mysql_connexion = connect_sql($login,$pass,$serv)) !== false){
mysql_select_db ('Membres');
$sql = "SELECT Pseudonyme, Email FROM Membres WHERE Pseudonyme = '".$_POST['Pseudonyme']." OR Email ='".$_POST['Email']."";
$exe = mysql_query($sql);
if(!$exe){
$message ="Une erreur s'est produite lors de la création de votre compte.";
}else{
if(mysql_num_rows($exe) > 0){
while($row = mysql_fetch_array($exe)){
if($_POST['Pseudonyme'] == $row["Pseudonyme"]){
$message = "Ce nom d'utilisateur est déjà utilisé.";
}
elseif($_POST['Email'] == $row["Email"]){
$message = "Cette adresse email est déjà utilisé.";
}
}
}else{
$cle = sha1(microtime(TRUE)*100000);
}
}
$compte = mysql_query("INSERT INTO Membres(Pseudonyme, Mdp, Email, Clef) VALUES ('" . $_POST['Pseudonyme'] . "', '" . sha1($_POST['Mdp']) . "', '" . $_POST['Email'] . "', '" . time() . "', '" . $Clef . "");
if((email_confirm($email,$pseudo,$cle)) !== false){
echo "Email confirmation : Envoyer";
}
}else {
echo "Erreur Connection SQL";
}
}
}
/* FONCTIONS */
function erreur($erreur){
echo("Erreur : ".$erreur."");
}
function verif($pseudo,$mdp,$confirmation_mdp,$email,$confirmation_email){
if(!empty($pseudo) && !empty($mdp) && !empty($confirmation_mdp) && !empty($email) && !empty($confirmation_email)){
if(($mdp == $confirmation_mdp) && ($email == $confirmation_email)){
if(preg_match("#[a-z0-9]{2,30}@[a-z0-9]{2,30}.[a-z]{0,10}#",$email)){
return true;
}
return 1;
}
return 2;
}
return 3;
}
function connect_sql($login,$pass,$serv){
if($mysql_connexion = mysql_connect($serv,$login,$pass)){
return $mysql_connexion;
}
return false;
}
function email_confirm($email,$cle,$pseudo){
$titre = "Activation de votre compte membre sur J.Newb.";
$message = "Bienvenue parmis nous. :)
Pour activer votre compte, c'est très simple, il vous suffit de cliquer sur le lien ci-dessous et votre compte sera activé immédiatement.
http://jnewb.free.fr/activation.php?log='.urlencode($pseudo).'&cle='.urlencode($cle).'
A très bientôt sur J.Newb.
------------------------
Ceci est un message automatique, merci de ne pas y répondre.";
if(mail($email,$titre,$message)){
return true;
}
return false;
}
/* ================================= END =============================== */
?>
[img=http://img8.imageshack.us/img8/6527/sanstitreevr.th.jpg]
Enfaite, quand j'envoie mon formulaire avec la page inscription.php j'ai le message suivant : Email confirmation : Envoyer. Mais je ne reçois pas de mail, et dans la table, je ne vois aucun compte de crée... :/
Ty.
