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
| <?php
session_start();
require_once('bdd.php'); // Insertion des données de connection au serveur MYSQL
?>
<html>
<head>
<title>Validation de compte</title>
</head>
<body>
<?php
// Si la session n'est pas à jour
if ( !(isset($_SESSION['proceed']) && $_SESSION['proceed'] == 2) ) {
header('Location: formulaire.php');
exit();
}
// Génération de la clé d'activation
$cleActivation = substr(md5(uniqid(rand(), true)), 0, 6);
// Liste des valeurs des qui seront insérées dans la table
$champs = "
'".mysql_real_escape_string($_SESSION['user_nom'])."',
'".mysql_real_escape_string($_SESSION['user_prenom'])."',
'".mysql_real_escape_string($_SESSION['user_email'])."',
'".mysql_real_escape_string($_SESSION['user_login'])."',
md5('".$_SESSION['user_pass']."'),
'".$cleActivation."',
0,
CURDATE()
";
// Requête SQL avec concatenation de la liste des valeurs.
$sql = "
INSERT INTO
table_users
(
user_nom,
user_prenom,
user_email,
user_login,
user_pass,
user_cleActivation,
user_compteValide,
user_dateCreated,
)
VALUES
(
".$champs."
)
";
// Execution de la requête
mysql_query($sql) or die(mysql_error());
// **** Selection du dernier id utilisateur enregistré **** //
$sql = "
SELECT
LAST_INSERT_ID() AS user_id
";
$qry = mysql_query($sql) or die(mysql_error());
/************************************************************/
if (mysql_num_rows($qry) > 0) { // Sert à éviter une éventuelle erreur du mysql_fetch_array() dans le cas où il ne retournerait rien
$datas = mysql_fetch_array($qry);
$user_id = $datas['user_id'];
$mailHeader = 'From: MONSITE <mon@email.com>'."\r\n"; // Header de l'email
$mailHeader .= 'Reply-to: MONSITE <mon@email.com>'."\r\n";
$mailTo = $_SESSION['user_email']; // Envoyer le mail à
$mailSubject = 'Votre inscription sur le site MONSITE'; // Objet de l'email
$mailBody = 'Content-Type: text/html; charset=iso-8859-1'."\r\n"; // Contenu de l'email, en spécifiant qu'il est au format HTML
$mailBody .= 'Bonjour,
Vous venez de vous inscrire sur mon site. Afin de terminer l\'inscription,
Vous devez valider votre compte. Pour cela, cliquez sur le lien ci dessou :
<a href="http://domaine/site/validateAccount.php?id='.$user_id.'&key='.$cleActivation.'">http://domaine/site/validateAccount.php?id='.$user_id.'&key='.$cleActivation.'</a>
Merci de vous être inscrit et à bientôt,
Le Webmaster.';
if (!@mail($mailTo, $mailSubject, $mailBody, $mailHeader)) { // Envoi de l'email
die("L'email de confirmation n'a pas été envoyé."); // On s'arrete si l'envoi n'est pas fait !
}
session_destroy(); // Destruction de la session quand tout se termine bien.
} else {
die("Erreur lors de la récupération de l'identifiant du compte."); // Si l'identifiant n'est pas trouvé, message d'erreur...
}
mysql_close(); // Fermeture de la connection au server MySQL.
?>
</body>
</html> |
Partager