Checking Mandatory Fields


 if (isset($_POST['Submit']) &&     isset($_POST['textfieldname']) &&     trim($_POST['textfieldname']) != '') 


When validating a form, most of the time the emphasis is on mandatory fields. You can check if they contain values in two ways:

  • Check whether the fields exist in $_GET/$_POST

     if (!isset($_GET['fieldname')) {   // Error! } 

  • Check whether the values in $_GET/$_POST contain information other than whitespace

     if (trim($_GET['fieldname') == '') {   // Error! } 

It is very important that you combine both techniques. You always have to check for a field's existence using isset() to avoid error messages when trying to access array values that do not exist. But you always have to check whether there is something within the field apart from whitespace because text fields are always submitted. In addition, when empty, isset() always returns true independent of the field's value.

Validating Mandatory Fields (mandatory.php; excerpt)
 <?php   if (isset($_POST['Submit']) &&       isset($_POST['textfieldname']) &&       trim($_POST['textfieldname']) != '') {     echo '<h1>Thank you for filling out this       form!</h1>';   } else { ?>   <form method="post" action=" <?php echo htmlspecialchars($_SERVER['PHP_SELF']);    ?>">     <input type="text" name="textfieldname"       value="<?php   echo (isset($_POST['textfieldname'])) ?     htmlspecialchars($_POST['textfieldname']) : '';       ?>" />     <input type="submit" name="Submit" />   </form> <?php   } ?> 

TIP

This methodology also applies for all other text form elements, radio buttons, and check boxes. It can be easily extended to check for certain patterns, including valid email addresses. Refer to Chapter 2, "Working with Arrays," for phrases that can be of assistance here.


NOTE

The code for prefilling the form element has been left intact so that this code snippet can be merged with other code snippets. So, if the form has only partially been filled out, the correct form fields are prefilled.





PHP Phrasebook
PHP Phrasebook
ISBN: 0672328178
EAN: 2147483647
Year: 2005
Pages: 193

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net