<?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> 
 
 |