From Mungo Bison, 5 Years ago, written in Plain Text.
Embed
  1. <?php
  2.           if (isset($_POST['email'])) {
  3.             $emaildata = $conn->real_escape_string($_POST['email']);
  4.             $usernamedata = $conn->real_escape_string($_POST['username-signup']);
  5.             $passwordData = $conn->real_escape_string($_POST['password-signup']);
  6.             $passwordRepeatedData = $conn->real_escape_string($_POST['password-signup-repeat']);
  7.             $firstname = $conn->real_escape_string($_POST['first-name']);
  8.             $lastname = $conn->real_escape_string($_POST['last-name']);
  9.  
  10.  
  11.             //email uniqueness test
  12.             $checkIfEmailExists = "SELECT Email_Address FROM Login_Details WHERE Email_Address = '$emaildata'";
  13.             $resultCheckEmail = $conn->query($checkIfEmailExists);
  14.             if (!$resultCheckEmail) {
  15.               $conn->error;
  16.             }
  17.             $numrowsemail = $resultCheckEmail->num_rows;
  18.             if ($numrowsemail > 0) {
  19.               echo "<p class= 'mytext'>Email already in use.</p>";
  20.             }
  21.             //username uniqueness test
  22.             $checkIfUsernameExists = "SELECT Username FROM Login_Details WHERE Username = '$usernamedata'";
  23.             $resultCheckUsername = $conn->query($checkIfUsernameExists);
  24.             if (!$resultCheckEmail) {
  25.               $conn->error;
  26.             }
  27.             $numrowsusername = $resultCheckUsername->num_rows;
  28.             if ($numrowsusername > 0) {
  29.               echo "<p class= 'mytext'>Username taken.</p>";
  30.             }
  31.             //password consistency check
  32.             if ($passwordData != $passwordRepeatedData) {
  33.               echo "<p class='mytext'>Passwords must be the same.</p>";
  34.             }
  35.  
  36.             if ($numrowsusername == 0 && $numrowsemail == 0) {
  37.               if ($passwordData == $passwordRepeatedData) {
  38.  
  39.                 //insert login query
  40.                 $insertLogin = "INSERT INTO Login_Details(
  41.                             Username,
  42.                             Email_Address,
  43.                             Password
  44.                         )
  45.                         VALUES(
  46.                             '$usernamedata',
  47.                             '$emaildata',
  48.                             '$passwordData'
  49.                         );";
  50.  
  51.                 $getloginid = "SELECT Login_ID FROM Login_Details WHERE Email_Address = '$emaildata' AND Password = '$passwordData'";
  52.  
  53.                 //beginning transaction
  54.                 $conn->begin_transaction();
  55.  
  56.                 //running the insert login query
  57.                 $resultinsertLogin = $conn->query($insertLogin);
  58.                 if (!$resultinsertLogin) {
  59.                   echo $conn->error;
  60.                 }
  61.                 //running the get login id query
  62.                 $loginidresult = $conn->query($getloginid);
  63.                 //assign to variable
  64.                 while ($row = $loginidresult->fetch_assoc()) {
  65.                   $loginid = $row['Login_ID'];
  66.                 }
  67.  
  68.                 //query to insert this id into log in table
  69.                 $insertuser = "INSERT INTO Users(First_Name, Last_Name, Login_ID) VALUES ('$firstname', '$lastname', '$loginid');";
  70.  
  71.                 //running query
  72.                 $resultInsertUser = $conn->query($insertuser);
  73.                 $userid = $conn->insert_id;
  74.                 $_SESSION['id'] = $userid;
  75.                 $_SESSION['firstname'] = $firstname;
  76.                 $_SESSION['lastname'] = $lastname;
  77.                 echo "<p>".$_SESSION['id']."</p>";
  78.                 echo "<p>".$_SESSION['firstname']."</p>";
  79.                 echo "<p>".$_SESSION['lastname']."</p>";
  80.                 //if both queries have  executed succesfully we will commit (else rollback the whole transaction)
  81.                 if ($insertuser && $resultInsertUser) {
  82.                   $conn->commit();
  83.                 } else {
  84.                   $conn->rollback();
  85.                   echo "There was a problem, please wait and try again";
  86.                 }
  87.               }
  88.               header('location: profile.php');
  89.             }
  90.           }
  91.           ?>