PHP/Form/Form Validation

Материал из Web эксперт
Перейти к: навигация, поиск

A Sample Form Element Validation Function

   <source lang="html4strict">

<?php

   function phone_validate($data, $desc) {
       $regex = "/^\([2-9][0-9]{2}\)[2-9][0-9]{2}-[0-9]{4}/i";
       if(preg_match($regex, $data) != 1) {
           return "The "$desc" field isn"t valid!";
       }
       return true;
   }

?>

 </source>
   
  


Displaying error messages with the form

   <source lang="html4strict">

<? if ($_POST["_submit_check"]) {

   if ($form_errors = validate_form()) {
       show_form($form_errors);
   } else {
       process_form();
   }

} else {

   show_form();

} function process_form() {

   print "Hello, ". $_POST["my_name"];

} function show_form($errors = "") {

   if ($errors) {
print "Please correct these errors:
  • "; print implode("
  • ", $errors); print "
";
   }
   print<<<_HTML_

<form method="POST" action="$_SERVER[PHP_SELF]"> Your name: <input type="text" name="my_name">
<input type="submit" value="Say Hello"> <input type="hidden" name="_submit_check" value="1"> </form> _HTML_; } function validate_form() {

   $errors = array();
   if (strlen($_POST["my_name"]) < 3) {
       $errors[] = "Your name must be at least 3 letters long.";
   }
   return $errors;

} ?>

 </source>
   
  


Elementary Form Validation

   <source lang="html4strict">

<?php

    if(isset($_GET["submit"])) {
         if(preg_match("/^\(([2-9][0-9]{2})\)[2-9][0-9]{2}-[0-9]{4}$/i",
                                 $_GET["phone"]) != 1) {
              echo "The phone field was invalid
"; } } else { /* Code to process form here */ }

?> <HTML> <HEAD><TITLE>Elementary form validation</TITLE></HEAD> <BODY> <FORM ACTION="<?php echo $_SERVER["PHP_SELF"]; ?>" METHOD=GET> <INPUT TYPE="hidden" NAME="submit" VALUE="1"> Phone: <INPUT TYPE="text" NAME="phone" SIZE=13 MAXLENGTH=13> (ex. (333)555-1212)
<INPUT TYPE="submit" VALUE="Send"> </FORM> </HTML>

 </source>
   
  


Form Data Validation With Error Count

   <source lang="html4strict">

<HTML> <BODY> <FORM METHOD="POST" ACTION="FormDataValidationWithErrorCount.php">

Contact Information




<INPUT TYPE="SUBMIT" VALUE="Submit">

<INPUT TYPE="RESET" VALUE="Clear the Form"> </FORM> </BODY> </HTML> </source>

Form Example for the Form Validator Script

   <source lang="html4strict">

<?php if($form_errors): ?>

    <?php foreach($form_errorlist as $val): ?>
  • <?php echo $val;?> <?php endforeach; ?>

<?php endif; ?> Please fill out the following form (* = Required)
<FORM ACTION="<?php echo $_SERVER["PHP_SELF"]; ?>" METHOD=GET> <INPUT TYPE="hidden" NAME="submit" VALUE="1"> <INPUT TYPE="hidden" NAME="required" VALUE="phone,email,fax"> <INPUT TYPE="hidden" NAME="phone_desc" VALUE="Phone Number"> <INPUT TYPE="hidden" NAME="email_desc" VALUE="Email Address"> <INPUT TYPE="hidden" NAME="fax_desc" VALUE="Fax Number"> Your Name: <INPUT TYPE="text" NAME="name">

  • Your Phone Number:

<INPUT TYPE="text" NAME="phone" VALUE="<?php echo $_GET["phone"]; ?>">

  • Your Email Address:

<INPUT TYPE="text" NAME="email" VALUE="<?php echo $_GET["email"]; ?>">

  • Your Fax Number:

<INPUT TYPE="text" NAME="fax" VALUE="<?php echo $_GET["fax"]; ?>">
<INPUT TYPE="submit" VALUE="Send"> </FORM>

 </source>
   
  


Form value validation: not empty

   <source lang="html4strict">

<HTML> <BODY> <FORM METHOD="POST" ACTION="FormErrorCheck.php">

Contact Information

Nickname: <INPUT TYPE="TEXT" NAME="nickname">
First Name: <INPUT TYPE="TEXT" NAME="firstname">
Middle Name: <INPUT TYPE="TEXT" NAME="middlename">
Last Name: <INPUT TYPE="TEXT" NAME="lastname">
Primary Email: <INPUT TYPE="TEXT" NAME="email">   Secondary Email: <INPUT TYPE="TEXT" NAME="secondaryemail">
<INPUT TYPE="TEXT" NAME="officeaddress2">
Nickname: <INPUT TYPE="TEXT" NAME="nickname">
Title: <INPUT TYPE="TEXT" NAME="title">
First Name: <INPUT TYPE="TEXT" NAME="firstname">
Middle Name: <INPUT TYPE="TEXT" NAME="middlename">
Last Name: <INPUT TYPE="TEXT" NAME="lastname">
Primary Email: <INPUT TYPE="TEXT" NAME="email">   Secondary Email: <INPUT TYPE="TEXT" NAME="secondaryemail">
Company Name: <INPUT TYPE="TEXT" NAME="companyname">
Office Address: <INPUT TYPE="TEXT" NAME="officeaddres1">   Home Address: <INPUT TYPE="TEXT" NAME="homeaddress">
<INPUT TYPE="TEXT" NAME="officeaddress2">
City: <INPUT TYPE="TEXT" NAME="officecity">     <INPUT TYPE="TEXT" NAME="homecity">
State: <INPUT TYPE="TEXT" NAME="officestate">     <INPUT TYPE="TEXT" NAME="homestate">
Zip: <INPUT TYPE="TEXT" NAME="officezip">     <INPUT TYPE="TEXT" NAME="homezip">
Phone: <INPUT TYPE="TEXT" NAME="officephone">     <INPUT TYPE="TEXT" NAME="homephone">
Birthday: <INPUT TYPE="TEXT" NAME="birthday">
Spouse Name: <INPUT TYPE="TEXT" NAME="spousename">   Childrens" Names: <INPUT TYPE="TEXT" NAME="children">
Anniversary: <INPUT TYPE="TEXT" NAME="anniversary">




<INPUT TYPE="SUBMIT" VALUE="Submit">

<INPUT TYPE="RESET" VALUE="Clear the Form"> </FORM> </BODY> </HTML>


      </source>
   
  


Validating form data

   <source lang="html4strict">

<? if ($_POST["_submit_check"]) {

   if (validate_form()) {
       process_form();
   } else {
       show_form();
   }

} else {

   show_form();

} function process_form() {

   print "Hello, ". $_POST["my_name"];

} function show_form() {

   print<<<_HTML_

<form method="POST" action="$_SERVER[PHP_SELF]"> Your name: <input type="text" name="my_name">
<input type="submit" value="Say Hello"> <input type="hidden" name="_submit_check" value="1"> </form> _HTML_; } function validate_form() {

   if (strlen($_POST["my_name"]) < 3) {
       return false;
   } else {
       return true;
   }

} ?>

</source>