?php // DD SIGNUP FUNCTIONS // ////////////////////////// // Tiina Vuorenmaa // dating.deliciously // Last Updated: 9/20/2009 ///////////////////////// //signup variables //first_name, last_name, email, password, password_again, gender, looking_for, birthmonth, birthday, birthyear //$email, $password, $join_date, $first_name, $last_name, $gender, $looking_for, $birthdate //chesks to see if the form has been submitted yet //if (isset($_POST[first_name]) || isset($_POST[last_name]) || isset($_POST[gender]) || isset($_POST[looking_for]) || isset($_POST[password]) || isset($_POST[password_again]) || isset($_POST[birth_month]) || isset($_POST[birth_day]) || isset($_POST[birth_year]) || isset($_POST[email])) { if (isset($_POST['register_submit'])) { $first_time = false; } else { //if not it's the first time $first_time = true; //echo "This is the first time"; } //////////////////////////////////////////////////////////////////////////////////////// //grab the variables //trim form whitespace //makesure that there are escapes in characters for the database $first_name = mysqli_real_escape_string($dbc, trim($_POST[first_name])); //first name from the form $last_name = mysqli_real_escape_string($dbc, trim($_POST[last_name])); //last name from the form $password = mysqli_real_escape_string($dbc, trim($_POST[password])); //password from the form $password_again = mysqli_real_escape_string($dbc, trim($_POST[password_again])); //password reentered from the form //$email = $_POST[email]; //email address from the form $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); //filter email //rest of the variables are dropdown $gender = $_POST[gender]; $looking_for = $_POST[looking_for]; $birth_month = $_POST[birth_month]; $birth_day = $_POST[birth_day]; $birth_year = $_POST[birth_year]; //if there is a mistake: $mistake = false; //the array with mistake comments $mistakes_comments = array(); ///////////////////////////////////////////////////////////////////////////////////////// //test the variables //is it empty? if (empty($first_name)) { $mistakes_comments [] = "Please fill in your first name."; $mistake = true; } if (empty($last_name)) { $mistakes_comments [] = "Please fill in your last name."; $mistake = true; } //reg ex from online $email_match = '/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])*(\.([a-z0-9])([-a-z0-9_-])([a-z0-9])+)*$/i'; //check if email is empty if (empty($email)) { $mistakes_comments [] = "Please fill in your email address."; $mistake = true; } //checks if it is a valid email //using preg match to check for reg ex else if (!(preg_match($email_match, $email))) { //bad email $mistakes_comments [] = "Please enter a valid email address."; $mistake = true; } //check to see if there already is an email else { $query = "SELECT * FROM itst_user WHERE email = '$email'"; $data = mysqli_query ($dbc, $query); if(mysqli_num_rows($data) != 0) { $mistakes_comments [] = "There already is an account attached to this email. Please use another email adddress."; $mistake = true; } } //check if the password is empty if ( (empty($password)) || (empty($password_again)) ) { $mistakes_comments [] = "Please fill in a password twice."; $mistake = true; } //checks the length of the password is less than 8 characters else if(strlen($password) < 8) { $mistakes_comments [] = "Passwords must be at least 8 characters"; $mistake = true; } //checks to see if both password match else if($password != $password_again ) { $mistakes_comments [] = "Both passwords must match."; $mistake = true; } if ($gender =='--Click to Select--') { $mistakes_comments [] = "Please choose your gender."; $mistake = true; } if ($looking_for =='--Click to Select--') { $mistakes_comments [] = "Please choose whom you'd like to meet."; $mistake = true; } if (empty($birth_month)) { $mistakes_comments [] = "Please choose your birth month."; $mistake = true; } if (empty($birth_day)) { $mistakes_comments [] = "Please choose your birth day."; $mistake = true; } if (empty($birth_year)) { $mistakes_comments [] = "Please choose your birth year."; $mistake = true; } ///////////////////////////////////////////////////////////////////////////////////////// //print out the variables //checks for mistakes if ($first_time){ //print out intro message echo "<p>Create your <strong>FREE</strong> profile now!</p> \n"; //clears mistakes array for next time $mistakes_comments = array(); } else if ($mistake) { //add mistakes div for styling //echo "<div id=\"mistakes\">There is a mistake. See comments below. <br /> \n"; echo "<div class=\"mistakes\">\n"; //prints out comments from mistake array for ($i=0; $i < (count($mistakes_comments)); $i++) { echo $mistakes_comments [$i]; //echo $i; echo "<br /> \n"; } //ends the mistakes div for styling echo"</div> \n"; } //if there are no mistakes, then print out the info else { //print out the info echo "<p>Thank you $first_name $last_name, for signing up with $email. </p> \n"; //make the birtdate $birthdate = $birth_year.$birth_month.$birth_day; //the date they joined $join_date = get_join_date(); //clears mistakes array for next time $mistakes_comments = array(); //databse is already connected at each session //enter in fields $query = "INSERT INTO itst_user (email, password, join_date, first_name, last_name, gender, looking_for, birthdate)". "VALUES ('$email', SHA('$password'), '$join_date', '$first_name', '$last_name', '$gender', '$looking_for', '$birthdate')"; //actually does the query mysqli_query ($dbc, $query) or die ("We're sorry. There was an error adding your information to the database. Please contact us if you have any questions."); //closes the database mysqli_close($dbc); exit(); echo "<script>"; echo "top.location.href = 'register_thankyou.php';"; echo "</script>"; } ?>