Advertisement
Guest User

Untitled

a guest
Mar 9th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.83 KB | None | 0 0
  1. <?php
  2.     ob_start();
  3.  
  4.     require('extra/header.php');
  5.     if(!empty($_SESSION['loggedin']))
  6.     {
  7.         if($_SESSION['loggedin'] == 1)
  8.         {
  9.             header("Location: dashboard.php");
  10.             exit();
  11.         }
  12.     }
  13.        
  14.         $query = "
  15.            SELECT
  16.                signupdisabled
  17.            FROM settings
  18.        ";
  19.        
  20.         try
  21.         {
  22.             $stmt = $db->prepare($query);
  23.             $result = $stmt->execute();
  24.         }
  25.         catch(PDOException $ex)
  26.         {
  27.             die("Failed to run query: " . $ex->getMessage());
  28.         }
  29.        
  30.         $row = $stmt->fetch();
  31.         if($row['signupdisabled'] == 1)
  32.         {
  33.             ?>
  34.             <div class="container" style="width:450px;">
  35.                 <div class="alert alert-danger" style="text-align: center;">
  36.                   <a class="alert-link">Registrations are currently disabled by Administrators</a>
  37.                 </div>
  38.             </div><?php
  39.         }
  40.         else
  41.         {
  42.         if(!empty($_POST))
  43.         {
  44.            
  45.             if(empty($_POST['username']))
  46.             {
  47.                 die("Please enter a username.");
  48.             }
  49.              
  50.             if(empty($_POST['password']))
  51.             {
  52.                 die("Please enter a password.");
  53.             }
  54.              
  55.             if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
  56.             {
  57.                 die("Invalid E-Mail Address");
  58.             }
  59.  
  60.             $query = "
  61.                 SELECT
  62.                     1
  63.                 FROM users
  64.                 WHERE
  65.                     username = :username
  66.             ";
  67.  
  68.             $query_params = array(
  69.                 ':username' => $_POST['username']
  70.             );
  71.              
  72.             try
  73.             {
  74.                 $stmt = $db->prepare($query);
  75.                 $result = $stmt->execute($query_params);
  76.             }
  77.             catch(PDOException $ex)
  78.             {
  79.  
  80.                 die("Failed to run query: " . $ex->getMessage());
  81.             }
  82.              
  83.  
  84.             $row = $stmt->fetch();
  85.             if($row)
  86.             {
  87.                 die("This username is already in use");
  88.             }
  89.             $query = "
  90.                 SELECT
  91.                     1
  92.                 FROM users
  93.                 WHERE
  94.                     email = :email
  95.             ";
  96.              
  97.             $query_params = array(
  98.                 ':email' => $_POST['email']
  99.             );
  100.              
  101.             try
  102.             {
  103.                 $stmt = $db->prepare($query);
  104.                 $result = $stmt->execute($query_params);
  105.             }
  106.             catch(PDOException $ex)
  107.             {
  108.                 die("Failed to run query: " . $ex->getMessage());
  109.             }
  110.              
  111.             $row = $stmt->fetch();
  112.              
  113.             if($row)
  114.             {
  115.                 die("This email address is already registered");
  116.             }
  117.              
  118.             $query = "
  119.                 INSERT INTO users (
  120.                     username,
  121.                     password,
  122.                     salt,
  123.                     email
  124.                 ) VALUES (
  125.                     :username,
  126.                     :password,
  127.                     :salt,
  128.                     :email
  129.                 )
  130.             ";
  131.              
  132.  
  133.             $salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
  134.              
  135.  
  136.             $password = hash('sha256', $_POST['password'] . $salt);
  137.              
  138.             for($round = 0; $round < 65536; $round++)
  139.             {
  140.                 $password = hash('sha256', $password . $salt);
  141.             }
  142.  
  143.             $query_params = array(
  144.                 ':username' => $_POST['username'],
  145.                 ':password' => $password,
  146.                 ':salt' => $salt,
  147.                 ':email' => $_POST['email']
  148.             );
  149.              
  150.             try
  151.             {
  152.                 $stmt = $db->prepare($query);
  153.                 $result = $stmt->execute($query_params);
  154.             }
  155.             catch(PDOException $ex)
  156.             {
  157.                 die("Failed to run query: " . $ex->getMessage());
  158.             }
  159.              
  160.             header("Location: login.php");
  161.  
  162.             die("Redirecting to login.php");
  163.            
  164.         }
  165.         ?>
  166.         <div class="container" style="width:450px;">
  167.  
  168.               <form class="form-signin" role="form" action="register.php" method="post">
  169.                 <h2 class="form-signin-heading">Registration Form</h2>
  170.                 <input type="text" name="username" class="form-control" placeholder="Username" required><br />
  171.                 <input type="email" name="email" class="form-control" placeholder="Email address" required autofocus><br />
  172.                 <input type="password" name="password" class="form-control" placeholder="Password" required><br />
  173.                 <center><br />
  174.                 <button class="btn btn-lg btn-primary btn-block" type="submit">Register Me</button>
  175.               </form>
  176.  
  177.         </div>
  178.     <?php } ?>
  179. <?php require('extra/footer.php'); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement