| 
<?php
 /**
 *  Antz_IntelliForm has 3 main purposes:
 *    * Make hack attempts more cumbersome by seeding forms
 *    * Prevent the form from being re-submitted when you hit the back button
 *    * Save form data for when the page is re-visited
 *
 *  The length of time that the form data is saved for is configurable in Antz_
 *      IntelliForm::expireTime
 *  Each page can save a form with a unique key name, so you can save many forms in
 *      any one session
 *  You can delete a saved form using Antz_IntelliForm::clear(), this is good after
 *      the form has been processed and the data does not need to be retained
 *  You can check if the form has been submitted by using Antz_IntelliForm::submitted()
 *      ( returns boolean )
 */
 
 
 error_reporting(E_ALL);
 session_start();
 
 // must define baseUrl in a constant for antiRepost in IntelliForm.php on line 80.
 //   * No trailing slash
 define('BASE_URL', 'http://localhost');
 
 
 
 
 // dummy functions for example purposes
 function do_some_check()
 {
 echo 'checking . . .<br />';
 if(strtolower($_POST['something']) == 'break') return true;
 else return false;
 }
 function do_some_process()
 {
 echo '. . . Processed!<br />';
 }
 // handy way to ensure no exceptions are thrown
 function post($key, $def='')
 {
 return (isset($_POST[$key])) ? $_POST[$key] : $def;
 }
 // end dummy functions
 
 
 
 // put this in the bootstrap index file before your controller dispatches, if you code that way
 include('IntelliForm.php');
 
 // prevent accidental submitting by refresh or back-button.
 //   * Use after session_start() and before any output to the browser ( it uses header redirection )
 Antz_IntelliForm::antiRepost();
 
 // clear expired form data
 Antz_IntelliForm::purge();
 // set the seed variable
 $seed = Antz_IntelliForm::seed();
 // $smarty->assign('AntzSeed', $seed); // if using smarty
 // end bootstrap
 
 
 
 // put this in your controller method
 if(Antz_IntelliForm::submitted()){
 // form has been submitted
 // save the data in case they navigate away then come back to the page
 Antz_IntelliForm::save('some form');
 echo 'submitted . . . <br />';
 if(do_some_check()){
 do_some_process();
 // delete the form data because we have finished with it
 Antz_IntelliForm::clear('some form');
 unset($_POST);
 };// end if check()
 }else{
 // form not submitted, restore a previous form
 Antz_IntelliForm::restore('some form');
 };
 $something = post('something');
 // end for controller method
 
 
 ?>
 
 
 <form action="example.php" method="post">
 <?php echo $seed ?>
 <input type="text" name="something" value="<?php echo $something ?>">
 <input type="submit">
 </form>
 
 |