Advertisement
Guest User

Untitled

a guest
Jun 16th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.24 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 to US</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