Advertisement
Guest User

Untitled

a guest
Jun 16th, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.23 KB | None | 0 0
  1. <?php
  2.     session_start();
  3.    
  4.     if( isset($_SESSION['user'])!="" ){
  5.         header("Location: home.php");
  6.     }
  7.     include_once 'dbconnect.php';
  8.     include_once 'serial.php';
  9.    
  10.     $error = false;
  11.     if ( isset($_POST['btn-signup']) ) {
  12.        
  13.         // clean user inputs to prevent sql injections
  14.         $captcha = trim($_POST['captcha']);
  15.         $captcha = strip_tags($captcha);
  16.         $captcha = htmlspecialchars($captcha);
  17.        
  18.         $name = trim($_POST['name']);
  19.         $name = strip_tags($name);
  20.         $name = htmlspecialchars($name);
  21.         $name = mysql_real_escape_string($name);
  22.        
  23.         $pass = trim($_POST['pass']);
  24.         $pass = strip_tags($pass);
  25.         $pass = htmlspecialchars($pass);
  26.         $pass = mysql_real_escape_string($pass);
  27.        
  28.         //basic captcha validation
  29.         if (empty($captcha)) {
  30.             $error = true;
  31.             $captchaError = "Please enter captcha";
  32.             } else if ($_POST['captcha'] != $_SESSION['captcha']) {
  33.             $error = true;
  34.             $captchaError = "Please enter correct captcha";
  35.         }
  36.        
  37.         // basic name validation
  38.         if (empty($name)) {
  39.             $error = true;
  40.             $nameError = "Please enter your name.";
  41.             } else if (strlen($name) < 3 or strlen($name) > 15 ) {
  42.             $error = true;
  43.             $nameError = "Name must have atleat 3 characters.";
  44.             } else if (!preg_match("/^[a-zA-Z0-9]+$/",$name)) {
  45.             $error = true;
  46.             $nameError = "Name must contain alphabets, numbers and space.";
  47.         }
  48.        
  49.         // repeated name validation
  50.         $sql = "SELECT * FROM users where userName= :username";
  51.         $select = $db->prepare($sql);
  52.         $select->bindValue(':username', $name, PDO::PARAM_STR);
  53.         $select->execute();
  54.        
  55.         if( $select->rowCount() > 0 ) {
  56.             $error = true;
  57.             $nameError = "Name already exist!";
  58.         }
  59.        
  60.         // password validation
  61.         if (empty($pass)){
  62.             $error = true;
  63.             $passError = "Please enter password.";
  64.             } else if(strlen($pass) < 6) {
  65.             $error = true;
  66.             $passError = "Password must have atleast 6 characters.";
  67.         }
  68.        
  69.         // password encryption
  70.         $cost = 'xx';
  71.         $salt = substr(strtr(base64_encode(openssl_random_pseudo_bytes(22)), '+', '.'), 0, 22);
  72.         $password = crypt($pass, '$2a$' . $cost . '$' . $salt . '$');  
  73.        
  74.         // if there's no error, continue to signup
  75.         if( !$error ) {
  76.             $sql = "INSERT INTO users(userName,userPass,userCode) VALUES(:username, :userpass, :usercode)";
  77.             $statement = $db->prepare($sql);
  78.             $statement->bindValue(':username', $name, PDO::PARAM_STR);
  79.             $statement->bindValue(':userpass', $password, PDO::PARAM_STR);
  80.             $statement->bindValue(':usercode', $serial, PDO::PARAM_STR);
  81.             $res = $statement->execute();
  82.            
  83.             if ($res) {
  84.                
  85.                 // create a purchase register table
  86.                 $sql = "SELECT userId FROM users WHERE userName = :username";
  87.                 $select = $db->prepare($sql);
  88.                 $select->bindValue(':username', $name, PDO::PARAM_STR);
  89.                 $select->execute();
  90.                 $response = $select->fetch();  
  91.                 $userid = $response['userId'];
  92.                 $sql = "INSERT INTO purchases(userId,purchases) VALUES(:userid, :purchases)";
  93.                 $statement = $db->prepare($sql);
  94.                 $statement->bindValue(':userid', $userid, PDO::PARAM_INT);
  95.                 $statement->bindValue(':purchases', "", PDO::PARAM_STR);
  96.                 $statement->execute();
  97.                 $errTyp = "success";
  98.                 $errMSG = "Successfully registered!";
  99.                 unset($name);
  100.                 unset($email);
  101.                 unset($pass);
  102.                 } else {
  103.                 $errTyp = "danger";
  104.                 $errMSG = "Something went wrong!"; 
  105.             }
  106.         }
  107.     }
  108. ?>
  109. <!DOCTYPE html>
  110. <html>
  111.     <head>
  112.         <meta http-equiv="pragma" content="no-cache">
  113.         <title>ALL FREE</title>
  114.         <link rel="icon" href="fav.png" type="image/x-icon"/>
  115.         <link rel="shortcut icon" href="fav.png" type="image/x-icon"/>
  116.         <link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css"  />
  117.         <link rel="stylesheet" href="assets/css/style.css" type="text/css" />
  118.     </head>
  119.     <body>
  120.        
  121.         <?php include 'navbar.php';?>
  122.        
  123.         <div class="container1">
  124.            
  125.             <div class="primback">
  126.                
  127.                 <div class="adminpanel">
  128.                    
  129.                     <center><h1>Welcome</h1></center><br>
  130.                    
  131.                 </div>
  132.                
  133.                 <?php include 'products.php';?>
  134.                
  135.             </div>
  136.             <div class="formback">
  137.                 <div id="login-form">
  138.                     <form name="register" method="post" action="index.php" autocomplete="off">
  139.                        
  140.                         <div class="col-md-12">
  141.                            
  142.                             <div class="form-group">
  143.                                 <center><h2 class="">Register</h2></center>
  144.                             </div>
  145.                            
  146.                             <div class="form-group">
  147.                                 <hr />
  148.                             </div>
  149.                            
  150.                             <?php
  151.                                 if ( isset($errMSG) ) {
  152.                                    
  153.                                 ?>
  154.                                 <div class="form-group">
  155.                                     <div class="alert alert-<?php echo ($errTyp=="success") ? "success" : $errTyp; ?>">
  156.                                         <span class="glyphicon glyphicon-info-sign"></span> <?php echo "Save account recovery code: <br>", $serial; ?>
  157.                                     </div>
  158.                                 </div>
  159.                                 <?php
  160.                                 }
  161.                             ?>
  162.                            
  163.                             <div class="form-group">
  164.                                 <div class="input-group">
  165.                                     <span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span>
  166.                                     <input value="" type="text" name="name" class="form-control" placeholder="Enter Name" maxlength="15" value="<?php echo $name ?>" />
  167.                                 </div>
  168.                                 <span class="text-danger"><?php echo $nameError; ?></span>
  169.                             </div>
  170.                            
  171.                             <div class="form-group">
  172.                                 <div class="input-group">
  173.                                     <span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>
  174.                                     <input type="password" name="pass" class="form-control" placeholder="Enter Password" maxlength="32" />
  175.                                 </div>
  176.                                 <span class="text-danger"><?php echo $passError; ?></span>
  177.                             </div>
  178.                            
  179.                             <div class="form-group">
  180.                                 <div class="input-group">
  181.                                 <span class="input-group-addon" id="basic-addon1"><img src="captcha.php" /></a></span>
  182.                                 <input type="text" name="captcha" class="form-control" placeholder="Enter Captcha" maxlength="5" />
  183.                             </div>
  184.                             <span class="text-danger"><?php echo $captchaError; ?></span>
  185.                         </div>
  186.                        
  187.                         <div class="form-group">
  188.                             <button type="submit" class="btn btn-block btn-primary" name="btn-signup">Sign Up</button>
  189.                         </div>
  190.                        
  191.                         <div class="form-group">
  192.                             <hr />
  193.                         </div>
  194.                        
  195.                         <div class="form-group">
  196.                             <a href="login.php">Login Here...</a>
  197.                         </div>
  198.                        
  199.                     </div>
  200.                    
  201.                 </form>
  202.             </div> 
  203.         </div>
  204.     </body>
  205. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement