Jump to content

How to keep values in html form when there is an error.


pahunrepublic

Recommended Posts

Hi everyone!

I have this registration form code:

<?php 
include_once 'dbinfo.php';
if(isset($_POST['kuldes']))
{
$name = $_POST['nev'];
$username = $_POST['felh_nev'];
$password = $_POST['jelszo'];
$email = $_POST['email'];
$phone = $_POST['telefon'];
$gender = $_POST['sex'];
//$memip = $_SERVER['REMOTE_ADDR'];
$date = date("d-m-Y");
if($name == NULL || $username == NULL || $password == NULL || $email == NULL || $phone == NULL || $gender == NULL)
{
echo "Please complete the form below or one of the boxes is empty.";
}
else
{
if(strlen($username) <= 3 || strlen($username) >= 30){
$final_report.="Your username must be between 3 and 30 characters..";
}
else
{
$select_dbase="SELECT * FROM users WHERE username='$username'";
$result=mysqli_query($connect, $select_dbase);
if(mysqli_num_rows($result) != 0)
	{
	$final_report.="The username is already in use!";  
	}
else
{ 
if(strlen($password) <= 6 || strlen($password) >= 12){
$final_report.="Your password must be between 6 and 12 digits and characters..";
}
else
{
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)){ 
$final_report.="Your email address was not valid..";
}
else
{
if(!eregi("^[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,10}$",$phone)){
$final_report.="Phone number is invalid. Only numbers with hyphen. Allowed format: countrycode-areacode-phonenumber";
}
else
{
$insert_dbase = 'insert into 	users (
				name,
				sex,
				email,
				phone_number,
				username,
				password
				) 
				values
				(
				"' . $_POST['nev'] . '",
				"' . $_POST['sex'] . '",
				"' . $_POST['email'] . '",
				"' . $_POST['telefon'] . '",
				"' . $_POST['felh_nev'] . '",
				"' . md5($_POST['jelszo']) . '"
				)';//PHP MYSQl development p.316
mysqli_query($connect,$insert_dbase); 
$final_report.="Thank you for registering, you may login."; 
}}}}}}}
?>
<h1>Registration Form</h1>
<form name="registration_form" method="POST">
<p>Name: <input type="text" name="nev" size=25></p>
<p>Username: <input type="text" name="felh_nev" size=10></p>
  <p>Password: <input type="password" name="jelszo" size=10></p>
  <!--<p>Password again:<input type="password" name="password_confirmation"></p>-->
    <p>E-mail: <input type="text" name="email" /></p>
    <p>Phone number: <input type="text" name="telefon" /></p>
<p>Sex: 
       <label><input type="radio" name="sex" value="no">Female</label>
       <label><input type="radio" name="sex" value="ferfi">Male</label></p>

<!--<p>Favorite hobbies (Using CTRL you can select more than one):</p>
	<select name="hobbi[]" size="4" multiple>
	  <option selected>Sport</option>
	  <option value="mozi">Movies</option>
	  <option value="kirandulas">Hiking</option>
	  <option value="olvasas">Reading</option>
  </select>

<p>Other message:</p>
<textarea name="megjegyzes" cols="40"></textarea>

  <p><input name="reg_felt" type="checkbox" value="elfogad" checked>I accept the terms!</p>-->
<p><input name="kuldes" type="submit" value="Submit form">
  <input name="reset" type="reset" value="delete"></p>
<table width="501" border="1">
      <tr>
        <td><?php echo $final_report; ?></td>
      </tr>
    </table>
<p> </p>
</form>

<h1><a href="login_form.php">USERS</a></h1>

The script above works but when it displays an error message about the submitted content it cleans the whole HTML form and the user has to type again. It is annoying. How can I make this script to keep user added values in the html form showing the error messages?

Google "make html form sticky" for more, but as an example:

 

<input type="text" name="nev" size=25>

//would become

<input type="text" name="nev" value="<?php if( isset($_POST['nev']) ) { echo $_POST['nev']; }" size=25>

Google "make html form sticky" for more, but as an example:

 

<input type="text" name="nev" size=25>

//would become

<input type="text" name="nev" value="<?php if( isset($_POST['nev']) ) { echo $_POST['nev']; }" size=25>

 

Thanx!

What do you mean by sticky? Not secure?

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.