aboutsummaryrefslogtreecommitdiff
path: root/Html/admin/signup.php
diff options
context:
space:
mode:
Diffstat (limited to 'Html/admin/signup.php')
-rw-r--r--Html/admin/signup.php233
1 files changed, 233 insertions, 0 deletions
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 @@
+<?php
+require_once('../includes/config.php');
+
+if($user->is_logged_in()) {
+ header('Location: ../index.php');
+}
+
+//titre de la page
+$pagetitle= 'Créer un compte';
+include_once('../includes/header.php');
+?>
+
+<body>
+<div id="container">
+
+ <?php
+ include_once('../includes/header-logo.php');
+ include_once('../includes/nav.php');
+ ?>
+
+ <div id="body">
+ <div id="content">
+
+ <h2>Créer un compte</h2>
+
+ <div class="alert-msg rnd8 success">
+ <p style="text-align:justify; font-size:13px;">
+ Vous allez créer un compte sur <?php echo SITENAMELONG; ?>...<br />
+ Le fait de devenir membre vous fera bénéficier de plusieurs avantages :<br />
+ - uploader des torrents,<br />
+ - disposer d'un espace membre,<br />
+ - disposer de statistiques personnelles.<br />
+ 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.<br />
+ <span style="font-style:italic; font-size:11px;">(Eventuellement, merci de vérifier votre répertoire Spam)</span>
+ </p>
+ </div>
+
+ <?php
+
+ //if form has been submitted process it
+ if(isset($_POST['submit'])){
+
+ //collect form data
+ extract($_POST);
+
+ //very basic validation
+ if($username ==''){
+ $error[] = 'Veuillez entrer un pseudo.';
+ }
+
+ if($password ==''){
+ $error[] = 'Veuillez entrer un mot de passe.';
+ }
+
+ if (strlen($password) < 6) {
+ $error[] = 'Le mot de passe est trop court ! (6 caractères minimum)';
+ }
+
+ if($passwordConfirm ==''){
+ $error[] = 'Veuillez confirmer le mot de passe.';
+ }
+
+ if($password != $passwordConfirm){
+ $error[] = 'Les mots de passe ne concordent pas.';
+ }
+
+ if($email ==''){
+ $error[] = 'Veuillez entrer une adresse e-maili valide.';
+ }
+
+ // On cherche si l'adresse e-mail est déjà dans la base
+ if (isset($_POST['email'])) {
+ $postemail = filter_input(INPUT_POST, $_POST['email'], FILTER_SANITIZE_EMAIL);;
+ $stmt = $db->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 = "<p>Merci de vous êtes enregistré(e) sur ".SITENAMELONG.".</p>
+ <p>Pour activer votre compte, veuillez cliquer sur le lien suivant: <a href='".SITEURL."/activate.php?x=$newuid&y=$activation'>".SITEURL."/activate.php?x=$newuid&y=$activation</a></p>
+ <p>Cordialement,<br />Le webmaster de ".SITENAMELONG."</p>";
+
+ $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 '<div class="alert-msg error"><img src="../images/attention-1.jpg" alt="Erreur !" style="float: left; margin-right: 15px; width: 38px; height: 38px;" />'.$error.'</div>';
+ }
+ }
+ ?>
+
+ <form action='' method='post'>
+
+ <p><label>Pseudo</label><br />
+ <input type='text' name='username' id='username' value='<?php if(isset($error)){ echo $_POST['username'];}?>'></p>
+
+ <p><label>Mot de passe</label> (6 caractères minimum)<br />
+ <input type='password' name='password' id='password' value='<?php if(isset($error)){ echo $_POST['password'];}?>'><br />
+
+ <!-- force du mot de passe -->
+ <span style="font-weight: bold;" id='result'></span>
+
+ </p>
+
+ <p><label>Confirmation mot de passe</label><br />
+ <input type='password' name='passwordConfirm' value='<?php if(isset($error)){ echo $_POST['passwordConfirm'];}?>'></p>
+
+ <p><label>E-mail</label><br />
+ <input type='text' name='email' value='<?php if(isset($error)){ echo $_POST['email'];}?>'></p>
+
+ <p><label>Anti-spam : veuillez recopier le code ci-dessous</label><br />
+ <input type='text' name='captcha'>&nbsp;<img src="../verificationimage.php?<?php echo rand(0,9999);?>" alt="captcha" width="50" height="24" align="absbottom" />
+ </p>
+
+ <p><input type='submit' class="searchsubmit formbutton" name='submit' value='Créer un compte'> <input type="reset" value="Annuler" /></p>
+
+ </form>
+ </div>
+
+ <?php include_once '../sidebar.php'; ?>
+
+ <div class="clear"></div>
+ </div>
+</div>
+
+<div id="footer">
+ <?php include_once '../includes/footer.php'; ?>
+</div>
+
+</body>
+</html>