PHP Validation
Example
Required field will check whether the field is
filled or not in the proper way. Most of cases we will use the * symbol
for required field.
What is Validation ?
Validation means check the input submitted by the
user. There are two types of validation are available in PHP. They are as
follows −
·
Client-Side
Validation − Validation is performed
on the client machine web browsers.
·
Server
Side Validation − After
submitted by data, The data has sent to a server and perform validation checks
in server machine.
Some of
Validation rules for field
Field |
Validation Rules |
Name |
Should required
letters and white-spaces |
Email |
Should required @ and . |
Website |
Should required
a valid URL |
Radio |
Must be selectable at least once |
Check Box |
Must be checkable at least once |
Drop Down menu |
Must be selectable at least once |
Valid URL
Below code shows validation of URL
$website
=
input($_POST["site"]);
if
(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr =
"Invalid URL";
}
Above syntax will verify whether a given URL is
valid or not. It should allow some keywords as https, ftp, www, a-z, 0-9,..etc..
Valid Email
Below code shows validation of Email address
$email
=
input($_POST["email"]);
if
(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$emailErr =
"Invalid format and please
re-enter valid email";
}
Above syntax will verify whether given Email
address is well-formed or not.if it is not, it will
show an error message.
Example
Example below shows the form with required field
validation
<html>
<head>
<style>
.error {color:
#FF0000;}
</style>
</head>
<body>
<?php
//
define variables and set to empty values
$nameErr =
$emailErr = $genderErr =
$websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if
($_SERVER["REQUEST_METHOD"]
==
"POST")
{
if
(empty($_POST["name"]))
{
$nameErr
=
"Name is required";
}else {
$name =
test_input($_POST["name"]);
}
if
(empty($_POST["email"]))
{
$emailErr
=
"Email is required";
}else {
$email =
test_input($_POST["email"]);
//
check if e-mail address is well-formed
if
(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$emailErr
=
"Invalid email format";
}
}
if
(empty($_POST["website"]))
{
$website =
"";
}
else
{
$website =
test_input($_POST["website"]);
}
if
(empty($_POST["comment"]))
{
$comment =
"";
}else {
$comment =
test_input($_POST["comment"]);
}
if
(empty($_POST["gender"]))
{
$genderErr
=
"Gender is required";
}else {
$gender =
test_input($_POST["gender"]);
}
}
function
test_input($data) {
$data =
trim($data);
$data =
stripslashes($data);
$data =
htmlspecialchars($data);
return
$data;
}
?>
<h2>Absolute classes
registration</h2>
<p><span class = "error">*
required field.</span></p>
<form method = "post" action = ">?php
echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<table>
<tr>
<td>Name:</td>
<td><input
type
=
"text" name = "name">
<span
class
=
"error">*
<?php echo $nameErr;?></span>
</td>
</tr>
<tr>
<td>E-mail: </td>
<td><input
type
=
"text" name = "email">
<span
class
=
"error">*
<?php echo $emailErr;?></span>
</td>
</tr>
<tr>
<td>Time:</td>
<td> <input type = "text" name = "website">
<span
class
=
"error"><?php echo $websiteErr;?></span>
</td>
</tr>
<tr>
<td>Classes:</td>
<td> <textarea
name
=
"comment" rows = "5" cols = "40"></textarea></td>
</tr>
<tr>
<td>Gender:</td>
<td>
<input
type
=
"radio" name = "gender" value = "female">Female
<input
type
=
"radio" name = "gender" value = "male">Male
<span
class
=
"error">*
<?php echo $genderErr;?></span>
</td>
</tr>
<td>
<input type = "submit" name = "submit" value = "Submit">
</td>
</table>
</form>
<?php
echo "<h2>Your given values are
as:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>
It will produce the following result −
* required
field.