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
|
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=asbl;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
//En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
// Si la bd s'ouvre, on continue
// Vérification de la validité des informations
if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['mail']) && !empty($_POST['pass']) && !empty($_POST['pass2']))
{
if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) == TRUE)
{
$sth = $bdd->prepare('SELECT COUNT(email) FROM membres WHERE email = :email');
$sth->execute(array(':email' => $_POST['mail']));
if ($sth->fetchColumn() !== 1)
{
header('Location: connexion.php?error=existEmail');
exit();
}
if($_POST['pass'] == $_POST['pass2'])
{
// Hachage du mot de passe
$pass_hache = sha1($_POST['pass']);
//Création clé activation
$cle = md5(microtime(TRUE)*100000);
// Insertion
$req = $bdd->prepare('INSERT INTO membres(nom, prenom, email, pass, membreASBL, cle, actif) VALUES(:nom, :prenom, :mail, :pass, 0, :cle, 0)');
$req->execute(array(
'nom' => $nom,
'prenom' => $prenom,
'mail' => $mail,
'pass' => $pass_hache,
'cle' => $cle));
// Préparation du mail contenant le lien d'activation
$email = $_POST['mail'];
$destinataire = $email;
$sujet = "Activation de votre compte" ;
$entete = "From: noreply@casbahtrasenster.com" ;
$message = "Bienvenue sur le site de l'ASBL La Casbah Trasenster,
Pour activer votre compte, veuillez cliquer sur le lien ci dessous
ou le copier/coller dans votre navigateur internet.
http://votresite.com/activation.php?log=".urlencode($email)."&cle=".urlencode($cle)."
---------------
Ceci est un mail automatique, Merci de ne pas y répondre.";
mail($destinataire, $sujet, $message, $entete);
}
else
{
//echo "Les mots de passe ne sont pas identiques";
header('Location: inscription.php?error=passwordMismatch');
exit();
}
}
else
{
//echo "L'adresse " . $_POST['mail'] . " n'est pas valide, recommencez !";
header('Location: inscription.php?error=invalidEmail');
exit();
}
//Inscription réussie
header('Location: accueil.php?error=InscripOK');
exit();
}
else // Il manque des paramètres, on avertit le visiteur
{
//echo 'Veuillez remplir tous les champs du formulaire';
header('Location: inscription.php?error=emptyField');
exit();
} |
Partager