I have to following code for a preview page. But I have a problem with the password submitting. The code shows the password in the preview page, but doesn't post it for submitting. Any idea what's going wrong?
switch($_POST['view'])
{
case 1: /* first time submit, show preview */
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$gender = $_POST['gender'];
$view = $_POST['view'];
$errors = array(); // set the errors array to empty, by default
$fields = array(); // stores the field values
$success_message = "";
// import the validation library
require("../../validation.php");
$rules = array(); // stores the validation rules
// standard form fields
$rules[] = "required,first_name,Please enter your firstname.";
$rules[] = "begin_uppercase,first_name,Please only enter letters and begin with a uppercase letter.";
$rules[] = "required,last_name,Please enter your lastname.";
$rules[] = "begin_uppercase,last_name,Please only enter letters and begin with a uppercase letter.";
$rules[] = "required,email,Please enter your email address.";
$rules[] = "valid_email,email,Please enter a valid email address.";
$rules[] = "required,pass1,Please enter a password.";
$rules[] = "same_as,pass1,pass2,Please ensure the passwords you enter are the same.";
$rules[] = "required,gender,Please enter your gender.";
$errors = validateFields($_POST, $rules);
// if there were errors, re-populate the form fields
if (!empty($errors))
{
$fields = $_POST;
$INPUT_BUTTON = "<input type='submit' name='preview' value='preview'>";
}
// no errors! redirect the user to the thankyou page (or whatever)
else
{
$message = "All fields have been validated successfully!";
// here you would either email the form contents to someone or store it in a database.
// To redirect to a "thankyou" page, you'd just do this:
$type = 'none';
$view = 2;
$EXTRA_INFO = "Are your sure you want to submit:<br> <p>First name: $first_name <p>Last name: $last_name <p>Email: $email <p>Pass1: $pass1 <p>Pass2: $pass2 <p>$gender";
$INPUT_BUTTON = "<input type='submit' name='submit' value='Edit'>
<input type='submit' name='submit' value='Submit'>";
}
break;
case 2: /* second time submit, if edit pressed, then edit else submit */
if($_POST['submit'] == "Edit")
{ /* Edit and reset to first time here */
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$gender = $_POST['gender'];
$type = "block";
$view = 1;
$INPUT_BUTTON = "<input type='submit' name='preview' value='preview'>";
$EXTRA_INFO = "Please edit your input:<br>";
}
else
{ /* Submit info */
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$gender = $_POST['gender'];
$q = "INSERT INTO users (first_name, last_name, email, pass, registration_date) VALUES ('$first_name', '$last_name', '$email', '$pass1', NOW() )";
$r = mysql_query ($q); // Run the query.
if ($r) { // If it ran OK.
// Print a message:
$EXTRA_INFO = "The following entry has been submitted:<br><pre>$first_name <p>$last_name <p>$email <p>$pass1 <p>$pass2 <p>$gender</pre>";
$type = "none";
} else { // If it did not run OK.
// Public message:
$EXTRA_INFO = "Error inserting data into database";
// Debugging message:
echo '<p>' . die(tep_mysql_error()) . '<br /><br />Query: ' . $q . '</p>';
}
}
break;
default: /* either we've never been here or something has screwed our counter */
$EXTRA_INFO = "Please input your desired submission:<br>";
$INPUT_BUTTON = "<input type='submit' name='preview' value='preview'>";
$type = "block";
$view = 1;
break;
}
/* display our page accordingly */
echo $EXTRA_INFO;
echo "<form action=".$_SERVER["PHP_SELF"]." method='post'>";
// if $errors is not empty, the form must have failed one or more validation
// tests. Loop through each and display them on the page for the user
if (!empty($errors))
{
echo "<div class='error' style='width:100%;'>Please fix the following errors:\n<ul>";
foreach ($errors as $error)
echo "<li>$error</li>\n";
echo "</ul></div>";
}
if (!empty($message))
{
echo "<div class='notify'>$success_message</div>";
}
echo "<span name='input_form' style='display: $type'>
<input type='hidden' value='$view' name='view'>
<p>First Name:
<input type='text' name='first_name' size='15' maxlength='20' value='$first_name'><br>
<p>Last Name:
<input type='text' name='last_name' size='15' maxlength='40' value='$last_name'><br>
<p>Email Address:
<input type='text' name='email' size='20' maxlength='80' value='$email'><br>
<p>Password:
<input type='password' name='pass1' size='10' maxlength='20' /></p>
<p>Confirm Password:
<input type='password' name='pass2' size='10' maxlength='20' /></p>";
$male_status = 'unchecked';
$female_status = 'unchecked';
if (isset($_POST['gender'])) {
$selected_radio = $_POST['gender'];
if ($selected_radio == 'male') {
$male_status = 'checked';
}
else if ($selected_radio == 'female') {
$female_status = 'checked';
}
}
echo "<input type='radio' name='gender' value='male' $male_status >Male
<input type='radio' name='gender' value='female' $female_status >Female
</span>";
echo $INPUT_BUTTON;
echo "</form>";