$errors[] = "Votre nom est trop court. (2 caractères minimum)"; } if (mb_strlen($class) != 4) { $errors[] = "Veuillez insérer votre promo. (ex: 2016)"; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = "Votre adresse email n'est pas valide."; } if (mb_strlen($password) < 6) { $errors[] = "Votre mot de passe est trop court. (6 caractères minimum)"; } else { if ($password != $password_confirm) { $errors[] = "Vos deux mots de passe ne sont pas identiques."; } } if (is_used('email', $email, 'users')) { $errors[] = "Cette adresse mail est déjà utilisée"; } if (count($errors) == 0) { //Envoi mail d'activation $to = $email; $subject = WEBSITE_NAME . " - Activation de compte"; $password = sha1($password); $token = sha1($firstname . $email . $password); ob_start(); require 'templates/email/activation_mail.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); //Informer l'utilisateur pour qu'il vérifie sa boite de reception
<?php session_start(); include 'filters/guest_filter.php'; require 'config/dbconnect.php'; require 'includes/functions.php'; if (!empty($_GET['user']) && is_used('firstname', $_GET['user'], 'users') && !empty($_GET['token'])) { $firstname = $_GET['user']; $token = $_GET['token']; $q = $db->prepare('SELECT email, password FROM users WHERE firstname = ?'); $q->execute([$firstname]); $data = $q->fetch(PDO::FETCH_OBJ); $token_verif = sha1($firstname . $data->email . $data->password); if ($token == $token_verif) { $q = $db->prepare("UPDATE users SET active = '1' WHERE firstname = ?"); $q->execute([$firstname]); set_flash('Votre compte à été activé.', 'success'); redirect('profile.php'); } else { set_flash('Paramètres invalides.', 'danger'); redirect('index.php'); } } else { redirect('index.php'); }