From 5fd9fa480f302902328b81f912dd67ce378284f8 Mon Sep 17 00:00:00 2001 From: citizenz7 Date: Thu, 20 Apr 2017 18:50:55 +0200 Subject: V.1.4.6 --- Html/admin/signup.php | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 Html/admin/signup.php (limited to 'Html/admin/signup.php') diff --git a/Html/admin/signup.php b/Html/admin/signup.php new file mode 100644 index 0000000..b25ec12 --- /dev/null +++ b/Html/admin/signup.php @@ -0,0 +1,233 @@ +is_logged_in()) { + header('Location: ../index.php'); +} + +//titre de la page +$pagetitle= 'Créer un compte'; +include_once('../includes/header.php'); +?> + + +
+ + + +
+
+ +

Créer un compte

+ +
+

+ Vous allez créer un compte sur ...
+ Le fait de devenir membre vous fera bénéficier de plusieurs avantages :
+ - uploader des torrents,
+ - disposer d'un espace membre,
+ - disposer de statistiques personnelles.
+ Merci de choisir un pseudo, un mot de passe et une adresse e-mail. Vous recevrez un e-mail de notre part avec un lien qui vous permettra d'activer votre nouveau compte.
+ (Eventuellement, merci de vérifier votre répertoire Spam) +

+
+ + prepare('SELECT email FROM blog_members WHERE email = :email'); + $stmt->bindValue(':email',$postemail,PDO::PARAM_STR); + $stmt->execute(); + $res = $stmt->fetch(); + + if ($res) { + $error[] = 'Cette adresse e-mail est déjà utilisée !'; + } + } + + //Vérification simple de la validité de l'e-mail + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { + $error[] = 'Cette adresse e-mail n\'est pas valide !'; + } + + // Le username ne peut pas contenir de caractères spéciaux, balises, etc. + $postusername = $_POST['username']; + if (!preg_match("/^[a-zA-Z0-9]+$/",$postusername)) { + $error[] = 'Le pseudo ne peut contenir que des lettres et des chiffres !'; + } + + // On cherche si le pseudo fait moins de 4 caractères et s'il est déjà dans la base + if (strlen($_POST['username']) < 4) { + $error[] = 'Le pseudo est trop court ! (4 caractères minimum)'; + } + + else { + $stmt = $db->prepare('SELECT username FROM blog_members WHERE username = :username'); + $stmt->bindValue(':username',$postusername,PDO::PARAM_STR); + $stmt->execute(); + $row = $stmt->fetch(); + + if (!empty($row['username'])) { + $error[] = 'Ce pseudo est déjà utilisé ! Merci d\'en choisir un autre.'; + } + } + + $verif_box = $_REQUEST["captcha"]; + + // on vérifie le captcha + if(md5($verif_box).'a4xn' == $_COOKIE['tntcon']) { + + if(!isset($error)){ + $hashedpassword = $user->password_hash($_POST['password'], PASSWORD_BCRYPT); + $pid = md5(uniqid(rand(),true)); + $activation = md5(uniqid(rand(),true)); + + // Remove all illegal characters from an email address + $email = filter_var($email, FILTER_SANITIZE_EMAIL); + + try { + //On insert les données dans la table blog_members + $result1 = $db->prepare('INSERT INTO blog_members (username,password,email,pid,memberDate,active) VALUES (:username,:password,:email,:pid,:memberDate,:active)') ; + $result1->execute(array( + ':username' => $username, + ':password' => $hashedpassword, + ':email' => $email, + ':pid' => $pid, + ':memberDate' => date('Y-m-d H:i:s'), + ':active' => $activation + )); + + $newuid = $db->lastInsertId(); + + //On insert aussi le PID et l'ID du membre dans la table xbt_users + $result2 = $db->prepare('INSERT INTO xbt_users (uid, torrent_pass) VALUES (:uid, :torrent_pass)'); + $result2->execute(array( + ':uid' => $newuid, + ':torrent_pass' => $pid + )); + + if(!$result1 || !$result2) + { + $error[] = 'Erreur : votre compte utilisateur n\'a pas pu être créé.'; + } + + else { + // si tout OK, on envoie le mail de confirmation de compte + $newuid = $db->lastInsertId(); + $to = $email; + $subject = "Confirmation d'enregistrement de compte"; + $body = "

Merci de vous êtes enregistré(e) sur ".SITENAMELONG.".

+

Pour activer votre compte, veuillez cliquer sur le lien suivant: ".SITEURL."/activate.php?x=$newuid&y=$activation

+

Cordialement,
Le webmaster de ".SITENAMELONG."

"; + + $mail = new Mail(); + $mail->setFrom(SITEMAIL); + $mail->addAddress($to); + $mail->subject($subject); + $mail->body($body); + $mail->send(); + + //redirect to index page + header('Location: ../membres.php?action=activation'); + exit; + } + + + } catch(PDOException $e) { + echo $e->getMessage(); + } + + } + + } // captcha + + else { + $error[] = 'Mauvais code anti-spam ! Veuillez recopier le bon code.'; + } + + } + + //check for any errors + if(isset($error)){ + foreach($error as $error){ + echo '
Erreur !'.$error.'
'; + } + } + ?> + +
+ +


+ '>

+ +

(6 caractères minimum)
+ '>
+ + + + +

+ +


+ '>

+ +


+ '>

+ +


+  captcha +

+ +

+ +
+
+ + + +
+
+
+ + + + + -- cgit v1.2.1