real_escape_string($_POST['email']); $usernamedata = $conn->real_escape_string($_POST['username-signup']); $passwordData = $conn->real_escape_string($_POST['password-signup']); $passwordRepeatedData = $conn->real_escape_string($_POST['password-signup-repeat']); $firstname = $conn->real_escape_string($_POST['first-name']); $lastname = $conn->real_escape_string($_POST['last-name']); //email uniqueness test $checkIfEmailExists = "SELECT Email_Address FROM Login_Details WHERE Email_Address = '$emaildata'"; $resultCheckEmail = $conn->query($checkIfEmailExists); if (!$resultCheckEmail) { $conn->error; } $numrowsemail = $resultCheckEmail->num_rows; if ($numrowsemail > 0) { echo "

Email already in use.

"; } //username uniqueness test $checkIfUsernameExists = "SELECT Username FROM Login_Details WHERE Username = '$usernamedata'"; $resultCheckUsername = $conn->query($checkIfUsernameExists); if (!$resultCheckEmail) { $conn->error; } $numrowsusername = $resultCheckUsername->num_rows; if ($numrowsusername > 0) { echo "

Username taken.

"; } //password consistency check if ($passwordData != $passwordRepeatedData) { echo "

Passwords must be the same.

"; } if ($numrowsusername == 0 && $numrowsemail == 0) { if ($passwordData == $passwordRepeatedData) { //insert login query $insertLogin = "INSERT INTO Login_Details( Username, Email_Address, Password ) VALUES( '$usernamedata', '$emaildata', '$passwordData' );"; $getloginid = "SELECT Login_ID FROM Login_Details WHERE Email_Address = '$emaildata' AND Password = '$passwordData'"; //beginning transaction $conn->begin_transaction(); //running the insert login query $resultinsertLogin = $conn->query($insertLogin); if (!$resultinsertLogin) { echo $conn->error; } //running the get login id query $loginidresult = $conn->query($getloginid); //assign to variable while ($row = $loginidresult->fetch_assoc()) { $loginid = $row['Login_ID']; } //query to insert this id into log in table $insertuser = "INSERT INTO Users(First_Name, Last_Name, Login_ID) VALUES ('$firstname', '$lastname', '$loginid');"; //running query $resultInsertUser = $conn->query($insertuser); $userid = $conn->insert_id; $_SESSION['id'] = $userid; $_SESSION['firstname'] = $firstname; $_SESSION['lastname'] = $lastname; echo "

".$_SESSION['id']."

"; echo "

".$_SESSION['firstname']."

"; echo "

".$_SESSION['lastname']."

"; //if both queries have executed succesfully we will commit (else rollback the whole transaction) if ($insertuser && $resultInsertUser) { $conn->commit(); } else { $conn->rollback(); echo "There was a problem, please wait and try again"; } } header('location: profile.php'); } } ?>