PHP Form Validation And Required Field


PHP Form Validation And Required Field :– Web application are more vulnerable if you do not validate your form inputs.So form validation is used to prevent cross site scripting attacks from hackers.

There are two types of validations in php.

  1. Client Side Validation
  2. Server Side Validation

PHP Form Validation | Example

Server side validation is done on php enabled server whereas client side validation usually happens on client side i.e browser.Following below examples describes how does script checks and validate user inputs in form validation process.

When user leaves Name field blank in first example below ; user gets one warning message .Similarily in below example you can easily see if user gives an invalid email address immediately a message displays saying “Please enter valid email id “.

These example contains complete validation script for form data with name ,email , URL fields and radio button.

If you run below script you will find output same as looking in below screenshots.

.

Example.

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="fname">
  <input type="submit" name="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['fname'];
    if (empty($name)) {
        echo "Please enter a name ";
    } else {
        echo $name;
    }
}
?>

<?Php
$name = $email = $gender  = $website = $emailerror=$nameError="";	
	  /*if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameError = "Only letters and white space allowed";
}*/
if(isset($_POST['submit'])) {
if (empty($_POST["name"])){
$nameError = "Warning!Name is required";
}

	else
 {
$name = test_input($_POST["name"]); // check name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameError = " <br>Only letters and white space allowed";
}
}
if (empty($_POST["email"])){
$emailerror = "email is required";
}

	else
 {
$email = test_input($_POST["email"]); // check name only contains letters and whitespace
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailerror = "  <br>please enter correct email id";
}
}
if (empty($_POST["gender"])) {
               $genderErr = "Gender is required";
            }else {
               $gender = test_input($_POST["gender"]);
            }
 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
             $websiteErr = "Invalid URL"; 
    }
}
 
function test_input($value) 
{
  $value = trim($value);
  $value = stripslashes($value);
  $value = htmlspecialchars($value);
  return $value;
}
?>
<form method="POST" action="<?Php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name:<input type="text" name="name" value="">
<span class="error"><?php echo $nameError;?></span>
<br><br>
Email:<input type="text" name="email" value="">
<br><br>

Gender:
  <input type="radio" name="gender" value="female">Female
  <input type="radio" name="gender" value="male">Male
  <br><br>
  <input type="submit" name="submit" value="Submit">  
  </form>
<?Php
echo $name;
echo "<br>";
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $gender;
echo $nameError;
echo $emailerror;
?>

Advertisements

Add Comment

📖 Read More