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 129 130 131 132 133 134 135 136 137 138
|
<?php
//J'ouvre ma base de donnée
$dbname= 'moaye_16bdd';
$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();
}
//On vérifie que l'utilisateur a bien envoyé les informations demandées
if(isset($_POST["civilite"]) && isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["email"]) && isset($_POST["password"]) && isset($_POST["password2"]) && isset($_POST["phone"]) && isset($_POST["adresse"]) && isset($_POST["register_date"])){
//On vérifie que password et password2 sont identiques
if($_POST["password"] == $_POST["password2"]){
//On utilise alors notre fonction password_hash :
$hash = password_hash($_POST["password"], PASSWORD_DEFAULT);
//Puis on stock le résultat dans la base de données :
$query = $bdd->prepare('INSERT INTO membres (civilite, nom, prenom, email, password, phone, adresse, register_date) VALUES(:civilite, :nom, :prenom, :email, :password, :phone, :adresse, :register_date);');
$query->bindParam(':civilite', $_POST["civilite"]);
$query->bindParam(':nom', $_POST["nom"]);
$query->bindParam(':prenom', $_POST["prenom"]);
$query->bindParam(':email', $_POST["email"]);
$query->bindParam(':password', $hash);
$query->bindParam(':phone', $_POST["phone"]);
$query->bindParam(':adresse', $_POST["adresse"]);
$query->bindParam(':register_date', $_POST["register_date"]);
$query->execute();
// 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)
$query = $bdd->prepare("UPDATE membres SET cle=:cle WHERE email like :email");
$query->bindParam(':cle', $cle);
$query->bindParam(':nom', $nom);
$query->execute();
// Préparation du mail contenant le lien d'activation
$destinataire = $nom;
$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 MonSite,
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($nom).'&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');
exit();
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Mon titre</title>
<link href='http://fonts.googleapis.com/css?family=Bitter' rel='stylesheet' type='text/css'>
<link href='layer.css' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="form-style-10">
<h1>Inscrivez-vous<span>Et poursuivez le renseignement de votre dossier médical!</span></h1>
<form method="post" action="register.php" enctype="">
<div class="section"><span>1</span>Identité</div>
<div class="inner-wrap">
<label>Civilité<select name="civilite" class="select-field" required/>
<option value="nc"></option>
<option value="M.">M.</option>
<option value="Mme.">Mme.</option>
<option value="Mlle.">Mlle.</option>
</select></label>
<label>Nom <input type="text" name="nom" required style="text-transform: uppercase;" /></label>
<label>Prenom(s) <input type="text" name="prenom" required style="text-transform: uppercase;"/></label>
</div>
<div class="section"><span>2</span>Email & Password</div>
<div class="inner-wrap">
<label>Addresse Email <input type="email" name="email" required/></label>
<label>Mot de passe <input type="password" name="password" required id="password" class="password"/></label>
<label>Confirmer Mot de passe <input type="password" name="password2" required id="password2" class="password"/></label>
</div>
<div class="section"><span>3</span>Vos contacts</div>
<div class="inner-wrap">
<label>Téléphone <input type="text" name="phone" required placeholder="00-00-00-00 / 00-00-00-00" /></label>
<label>Adresse Postale <input type="text" name="adresse" required style="text-transform: uppercase;"/></label>
<input type="hidden" name="register_date" value="<?php echo date('Y-m-d', strtotime(date('Y-m-d')));?>" />
</div>
<div class="button-section">
<input type="submit" name="Sign Up" />
</div>
</form>
</div>
</body>
</html> |
Partager