/php/registration_exec.php

https://bitbucket.org/isanneh/campus-pages · PHP · 150 lines · 100 code · 35 blank · 15 comment · 25 complexity · e37aabc1bb8e6ecd2e875edb33acdfa8 MD5 · raw file

  1. <?php
  2. //Start session
  3. session_start();
  4. //Include database connection details
  5. //require_once('connect.php');
  6. include("connect.php");
  7. //Array to store validation errors
  8. $errmsg_arr = array();
  9. //Validation error flag
  10. $errflag = false;
  11. //Function to sanitize values received from the form. Prevents SQL injection
  12. function clean($str) {
  13. $str = @trim($str);
  14. if(get_magic_quotes_gpc()) {
  15. $str = stripslashes($str);
  16. }
  17. return mysql_real_escape_string($str);
  18. }
  19. //email format
  20. function isValidEmail($email){
  21. return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);
  22. }
  23. //name format
  24. function isValidName($name){
  25. return eregi ("^[a-zA-Z][a-zA-Z -]*$", $name);
  26. }
  27. //Sanitize the POST values
  28. $first_name = clean($_POST['first_name']);
  29. $last_name = clean($_POST['last_name']);
  30. $gender = clean($_POST['gender']);
  31. $school = clean($_POST['school']);
  32. $email_address = clean($_POST['email_address']);
  33. $password = clean($_POST['password']);
  34. $password2 = clean($_POST['password2']);
  35. $phone = clean($_POST['phone']);
  36. //Input Validations
  37. if($first_name == '') {
  38. $errmsg_arr[] = 'First name missing';
  39. $errflag = true;
  40. }
  41. //Input Validations
  42. if($last_name == '') {
  43. $errmsg_arr[] = 'Last name missing';
  44. $errflag = true;
  45. }
  46. if($gender == 'choose' ) {
  47. $errmsg_arr[] = 'Gender missing';
  48. $errflag = true;
  49. }
  50. if($school == 'choose school') {
  51. $errmsg_arr[] = 'School missing';
  52. $errflag = true;
  53. }
  54. if($email_address == '') {
  55. $errmsg_arr[] = 'Email missing';
  56. $errflag = true;
  57. }
  58. else
  59. {
  60. if(isValidEmail($email_address) ==TRUE)
  61. {
  62. }
  63. else
  64. {
  65. $errmsg_arr[] = 'Email address is not valid';
  66. $errflag = true;
  67. }
  68. }
  69. if($password == '') {
  70. $errmsg_arr[] = 'Password missing';
  71. $errflag = true;
  72. }
  73. if($password2 == '') {
  74. $errmsg_arr[] = 'Confirm password missing';
  75. $errflag = true;
  76. }
  77. if( strcmp($password, $password2) != 0 ) {
  78. $errmsg_arr[] = 'Passwords do not match';
  79. $errflag = true;
  80. }
  81. //Check for duplicate login ID
  82. if($email_address != '') {
  83. $qry = "SELECT * FROM users WHERE email_address='$email_address'";
  84. $result = mysql_query($qry);
  85. if($result) {
  86. if(mysql_num_rows($result) > 0) {
  87. $errmsg_arr = array();
  88. $errmsg_arr[] = 'Email Address already in use';
  89. $errflag = true;
  90. }
  91. @mysql_free_result($result);
  92. }
  93. else {
  94. die("Query failed");
  95. }
  96. }
  97. //If there are input validations, redirect back to the registration form
  98. if($errflag) {
  99. $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
  100. session_write_close();
  101. header("location: register.php");
  102. exit();
  103. }
  104. //Create INSERT query
  105. $qry= "INSERT INTO users(first_name, last_name, school, email_address, gender, password, phone) VALUES ('$first_name', '$last_name', '$school', '$email_address', '$gender', '".md5($_POST['password'])."', '$phone')";
  106. $result = @mysql_query($qry);
  107. //Check whether the query was successful or not
  108. if($result) {
  109. $_SESSION['SESS_EMAILADDRESS'] = $email_address;
  110. header("location: registration_success.php");
  111. exit();
  112. }else {
  113. die("Query failed");
  114. }
  115. ?>