home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / filters.php < prev    next >
Encoding:
PHP Script  |  2004-03-24  |  1.8 KB  |  62 lines

  1. <?php
  2. /**
  3. * Example of usage for PEAR class HTML_QuickForm. 
  4. * Using filters to clean up the submitted values.
  5. *
  6. * @version 3.2
  7. *
  8. * $Id: filters.php,v 1.1 2003/11/21 16:52:48 avb Exp $ 
  9. */
  10.  
  11. require_once 'HTML/QuickForm.php';
  12.  
  13. function _filterAustin($value) 
  14. {
  15.     return strtoupper($value).', GROOVY BABY!';
  16. }
  17.  
  18. $form =& new HTML_QuickForm('frmTest', 'get');
  19.  
  20. $form->addElement('text', 'txtTest', 'Test Text to trim:');
  21. $form->addRule('txtTest', 'Test text is required', 'required');
  22.  
  23. $phoneGrp[] =& $form->createElement('text', '', null, array('size' => 3, 'maxlength' => 3));
  24. $phoneGrp[] =& $form->createElement('text', '', null, array('size' => 3, 'maxlength' => 3));
  25. $phoneGrp[] =& $form->createElement('text', '', null, array('size' => 4, 'maxlength' => 4));
  26. $form->addGroup($phoneGrp, 'phone', 'Telephone (will be converted to numbers):', '-');
  27. $form->addGroupRule('phone', 'The phone is required', 'required', null, 3);
  28.  
  29. $form->addElement('text', 'txtAustin', 'Text for custom filter:');
  30. $form->addRule('txtAustin', 'Custom filter text is required', 'required');
  31.  
  32. $form->addElement('submit', 'isubTest', 'Submit');
  33.  
  34. // now we apply the filters
  35. $form->applyFilter('txtTest', 'trim');
  36. // the filter will be applied recursively
  37. $form->applyFilter('phone', 'intval');
  38.  
  39. if ($form->validate()) {
  40.     // Here the filter is applied after validation
  41.     $form->applyFilter('txtAustin', '_filterAustin');
  42.  
  43.     echo "<pre>\n";
  44.     echo "Values before filter:\n\n";
  45.     var_dump($form->getElementValue('txtTest'));
  46.     echo "\n";
  47.     var_dump($form->getElementValue('phone'));
  48.     echo "\n";
  49.     var_dump($form->getElementValue('txtAustin'));
  50.  
  51.     echo "\n\nValues after filter:\n\n";
  52.     var_dump($form->exportValue('txtTest'));
  53.     echo "\n";
  54.     var_dump($form->exportValue('phone'));
  55.     echo "\n";
  56.     var_dump($form->exportValue('txtAustin'));
  57.     echo "</pre>\n";
  58. }
  59.  
  60. $form->display();
  61. ?>
  62.