1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
// Si le formulaire a été soumis
if (isset($_POST['register']))
{
// Si tous les champs ont été remplis
if (not_empty(['pseudo', 'email', 'password', 'password_confirm']))
{
$errors = [];
extract($_POST);
if (mb_strlen ($pseudo) < 3)
{
$errors[] ='Votre pseudo est trop court';
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$errors[] ='Votre adresse mail est invalide.';
}
if (mb_strlen ($password) < 6)
{
$errors[] ='Votre mot de passe est trop court. (Au moins 6 caractères.)';
}
else
{
if ($password != $password_confirm)
{
$errors[] ='Vos mots de passes sont différents';
}
}
if (is_already_in_use('pseudo', $pseudo, 'users'))
{
$errors[] ='Ce Pseudo est déjà utilisé. Veuillez en choisir un autre.';
}
// je recupère les infos dans les deux tables pour verifier le Mentor
$q = $db->prepare("SELECT users.name, filleul.pseudo FROM users, filleul
WHERE users.name = filleul.users_name ORDER BY users_name DESC
LIMIT 0, 2");
$req_filleul->execute(array($name));
$filleul_exist = $req_filleul->rowCount();
if ($filleul_exist == 0)
{
J'enregistre le traitement dans la bdd et envoi un message de niveau 1 (membre)
}
else ($filleul_exist == 1)
{
J'enregistre le traitement dans la bdd et envoi un message de niveau 2 (coach)
}
else ($filleul_exist == 2)
{
J'enregistre le traitement dans la bdd et envoi un message de niveau 3 (Mentor)
}elseif ($filleul_exist > 2) {
J'enregistre le traitement dans la bdd
Envoi de message, devenez mentor. Votre mentor a atteint sa limite.
}
if (is_already_in_use('email', $email, 'users'))
{
$errors[] ='Cet email est déjà utilisé. Veuillez en choisir un autre.';
}
if (count($errors) == 0)
{
// Envoi de mail de validation
$to = $email;
$subject = WEBSITE_NAME.' - Activation de votre compte.';
$password = bcrypt_hash_password($password);
$token = sha1($pseudo.$email.$password);
ob_start();
include('template/email/activation.tmpl.php');
$content = ob_get_clean();
$headers = 'MIME-Version: 1.0' .'\r\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1' .'\r\n';
mail($to, $subject, $content, $headers);
// Envoie d'un message pour confirmer l'envoi du mail d'Activation
set_flash("Un mail d'activation vient de vous être envoyé.", 'success');
$q = $db->prepare('INSERT INTO users (name, pseudo, email, password)
VALUES(:name, :pseudo, :email, :password)');
$q->execute([
'name'=> $name,
'pseudo'=> $pseudo,
'email'=> $email,
'password'=> $password
]);
$q = $db->prepare('INSERT INTO filleul (pseudo, users_name)
VALUES(:pseudo, :users_name)');
$q->execute([
'pseudo'=> $pseudo,
'users_name'=> $name
]);
redirect ('index.php');
}
else {
save_input_data();
}
}
else
{
$errors [] ='Veuillez remplir tous les champs svp.';
save_input_data();
}
}
else
{
clear_input_data();
} |
Partager