Advertisement
Guest User

signup_script

a guest
Jul 17th, 2014
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.39 KB | None | 0 0
  1. <?php
  2.  
  3. require_once 'password.php';
  4. //ERROR NUMBERS
  5. define('PDO_DUPLICATE_ERROR','23000');
  6. define('SUCCESS','1000');
  7. define('FAIL','0111');
  8. define('EMPTY_FIELDS','1001');
  9. define('QUESTION_NOT_SELECTED','1002');
  10. define('PASSWORD_NOT_MATCH','1003');
  11. define('DATABASE_CONNECTION_ERROR','1004');
  12. define('QUERY_ERROR','1005');
  13. define('USER_EXISTS','1006');
  14. define('ID_FORMAT_ERROR','1007');
  15. define('CONTACT_FORMAT_ERROR','1008');
  16. define('EMAIL_ERROR','1009');
  17. //LENGTHS OF FIELD
  18. define('ID_ALLOWED_LENGTH',6);
  19. define('MAX_CONTACT_LENGTH',11);
  20. function validate_empty($val){
  21.     if(empty($val))
  22.         return true;
  23.     else
  24.         return false;
  25. }
  26.  
  27. function signup(){
  28.     $data=array();
  29.     $insert=true;
  30.         if (validate_empty($_POST['id'])||validate_empty($_POST['fname'])||
  31.             validate_empty($_POST['lname'])||validate_empty($_POST['contact'])||
  32.             validate_empty($_POST['email'])||validate_empty($_POST['ans'])||
  33.             validate_empty($_POST['pwd'])||validate_empty($_POST['RePwd'])){
  34.             $data['error'][]=EMPTY_FIELDS;
  35.             $insert=false;
  36.         }    
  37.         if(ctype_digit($_POST['id'])&&(strlen($_POST['id'])!=ID_ALLOWED_LENGTH)){
  38.             $data['error'][]=ID_FORMAT_ERROR;                      
  39.             $insert=false;
  40.     }
  41.         if(strlen($_POST['contact'])>MAX_CONTACT_LENGTH&&ctype_digit($_POST['contact'])){
  42.             $data['error'][]=CONTACT_FORMAT_ERROR;
  43.             $insert=false;
  44.         }
  45.         if($_POST['que']=='---Select---'){
  46.             $data['error'][]=QUESTION_NOT_SELECTED;
  47.             $insert=false;
  48.         }
  49.         if(!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)){
  50.             $data['error'][]=EMAIL_ERROR;
  51.             $insert=false;
  52.         }
  53.         if($_POST['pwd']!=$_POST['RePwd']){
  54.             $data['error'][]=PASSWORD_NOT_MATCH;
  55.             $insert=false;
  56.         }
  57.                        
  58.         if($insert){
  59.             $length=100;
  60.             $bool=true;
  61.             $salt=openssl_random_pseudo_bytes ( $length, $bool );
  62.             $que=create_hash($_POST['que']);
  63.             $ans=create_hash(strtolower($_POST['ans']));
  64.             $pwd=$_POST['pwd'].$salt;
  65.             $hash= create_hash($pwd);
  66.             try {
  67.                 $conn = new PDO('mysql:host=localhost;dbname=bhel', 'root', '');
  68.         $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  69.         $data['dbconnection']=true;
  70.         $data["error"]=NULL;
  71.         $sql = "INSERT INTO user_detail (ID,First_Name,Last_Name,Contact,Email,salt,pwd,que,ans) VALUES (:n1,:n2,:n3,:n4,:n5,:n6,:n7,:n7,:n9)";
  72.         try{
  73.                     $query = $conn->prepare($sql);
  74.                     $query->bindParam(":n1", $_POST['id'],PDO::PARAM_INT);
  75.                     $query->bindParam(":n2", $_POST['fname'],PDO::PARAM_STR);
  76.                     $query->bindParam(":n3", $_POST['lname'],PDO::PARAM_STR);
  77.                     $query->bindParam(":n4", $_POST['contact'],PDO::PARAM_INT);
  78.                     $query->bindParam(":n5", $_POST['email'],PDO::PARAM_STR);
  79.                     $query->bindParam(":n6", $salt,PDO::PARAM_STR);
  80.                     $query->bindParam(":n7", $hash,PDO::PARAM_STR);
  81.                     $query->bindParam(":n8", $que,PDO::PARAM_STR);
  82.                     $query->bindParam(":n9", $ans,PDO::PARAM_STR);
  83.                     $query->execute();
  84.                     $data['success'] = SUCCESS; //success
  85.                    
  86.         }
  87.         catch(PDOException $e) {
  88.                     if((string)($e->getCode())==PDO_DUPLICATE_ERROR)
  89.                         $data['dbaccess'] = USER_EXISTS;
  90.                     else
  91.                         $data['dbaccess'] = QUERY_ERROR;
  92.                         $data['success']=FAIL;
  93.                 }
  94.             }
  95.             catch(PDOException $e) {
  96.         $data['dbconn']=DATABASE_CONNECTION_ERROR; //database connection not estabalished
  97.                 $data['success']=FAIL;
  98.             }
  99.         }
  100.         else
  101.             $data['success']=FAIL;
  102.         echo json_encode($data);        
  103. }
  104. if(isset($_POST['form_identify'])&&$_POST['form_identify']=='signup'){
  105.             $length=100;
  106.             $bool=true;
  107.             $salt=openssl_random_pseudo_bytes ( $length, $bool );
  108.             $pwd=$_POST['pwd'].$salt;
  109.             echo $_POST['pwd']."<br>".$salt."<br>".$pwd."<br>".create_hash($pwd)."<br>";
  110.             signup();}
  111. else {
  112.     $data["success"]=FAIL;
  113.     echo json_encode($data);
  114. }
  115.  
  116. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement