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 127 128
|
<?php
//J'ouvre ma base de donnée
$dbname= 'mabase';
$user = 'root';
$password = '';
$host = 'localhost';
try {
$bdd = new PDO('mysql:host='.$host .';dbname='.$dbname, $user, $password );
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->exec("SET CHARACTER SET utf8");
} catch (PDOException $e) {
echo "<p>Erreur : " . $e->getMessage() . "</p>";
exit();
}
?>
<?php
$civilite =($_POST['civilite']);
$nom =($_POST['nom']);
$prenom =($_POST['prenom']);
$email =($_POST['email']);
$phone =($_POST['phone']);
$adresse =($_POST['adresse']);
$password =($_POST['password']);
$register_date =($_POST['register_date']);
//ensuite on test si mes champs sont vides
if(empty($civilite)){
$valid=false;
$erreurcivilite="Vous n'avez pas rempli le champs civilité";
}
if(empty($nom)){
$valid=false;
$erreurnom="Vous n'avez pas rempli le champs nom";
}
if(empty($prenom)){
$valid=false;
$erreurprenom="Vous n'avez pas rempli le champs prenom";
}
//condition pour verifier si le champs mail correspond bien à un e-mail
if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
$valid=false;
$erreuremail ="votre adresse mail n'est pas valide";
}
if(empty($phone)){
$valid=false;
$erreurphone="Vous n'avez pas renseigner de téléphone";
}
if(empty($adresse)){
$valid=false;
$erreuradresse="Vous n'avez pas renseigner de téléphone";
}
if(empty($password)){
$valid=false;
$erreurpassword="Vous n'avez pas rempli le champs mot de passe";
}
// Enregistrement des données dans la base
$req = $bdd->prepare('INSERT INTO health(civilite, nom, prenom, email, phone, adresse, password, register_date) VALUES(:civilite, :nom, :prenom, :email, :phone, :adresse, :password, :register_date)')
or exit(print_r($bdd->errorInfo()));
$req->execute(array(
'civilite' => $civilite,
'nom' => $nom,
'prenom' => $prenom,
'email' => $email,
'phone' => $phone,
'adresse' => $adresse,
'password' => $password,
'register_date' => $register_date
));
print_r($req->errorInfo());
// Récupération des variables nécessaires au mail de confirmation
$email = $_POST['email'];
$nom = $_POST['nom'];
// Génération aléatoire d'une clé
$cle = md5(microtime(TRUE)*100000);
// Insertion de la clé dans la base de données (à adapter en INSERT si besoin)
$stmt = $bdd->exec("UPDATE health SET cle=:cle WHERE email like :email");
$stmt->bindParam(':cle', $cle);
$stmt->bindParam(':email', $email);
$stmt->execute();
// Préparation du mail contenant le lien d'activation
$destinataire = $email;
$sujet = "Confimer votre enregistrement" ;
$entete = "From: inscription@votresite.com" ;
// Le lien d'activation est composé de l email(email) et de la clé(cle)
$message = 'Bienvenue sur ....... ,
Pour activer votre compte, veuillez cliquer sur le lien ci dessous
ou 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) ; // Envoi du mail
//...
header('Location: thank_you.html');
?> |
Partager