龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php表单验证代码

时间:2014-06-19 15:13来源:网络整理 作者:网络 点击:
分享到:
php表单验证代码 ```{php}lt;?php // Quick function to loop through regexs and compare to what is in _POST// // $regs -gt; associative array of regular expressions// $ferrors -gt; error messages t
<?php

//  Quick function to loop through regexs and compare to what is in _POST
//  
//  $regs    ->   associative array of regular expressions
//  $ferrors ->   error messages to display to the users asociative array

function validatePost( $regs , $ferrors )
{
    $errors = array();
    foreach( $regs as $k => $v )
    {
        if( ! preg_match( $v , $_POST[$k] ) )
        {
            $errors[$k] = $ferrors[$k];
        }
    }
    return $errors;
}

// has the post been submitted?
if( count( $_POST ) )
{
    // yes it has been submitted so lets validate
    $regs['last_name']  = "/^[[:alpha:]\ -]+$/";  // require a alpha
    $regs['first_name'] = "/^[[:alpha:]\ -]+$/";  // require a alpha
    $regs['email']      = "/^..*\@..*$/";         // VERY simple email check
                                                // Use google to find better

    // Ok here are the error message to display when it is bad
    $ferrors['last_name']  = "Last name required";
    $ferrors['first_name'] = "First name required";
    $ferrors['email']      = "Email name required";

    $errors = validatePost( $regs , $ferrors );

    // Do we have errors?
    if( count( $errors ) == 0 )
    {
        //  WE HAVE NO ERRORS DO SOMETHING
        //  PUT IT INTO THE DATABASE, EMAIL, BOUNCE THE USER
        //  TO A THANK YOU PAGE, ETC...
    }
}
?>

<!-- OK WE ARE IN HTML -->
<!-- LETS MAKE THE FORM AND NOW YOU SEE HOW SIMPLE THIS IS I HOPE -->

<form method="POST">

<p>
<label>Last Name</label>
<input type="text" name="last_name" value="<?= $_POST['last_name'] ?>" />
<span style="color: #FF0000;"><?= $errors['last_name'] ?></span>
</p>

<p>
<label>First Name</label>
<input type="text" name="first_name" value="<?= $_POST['first_name'] ?>" />
<span style="color: #FF0000;"><?= $errors['first_name'] ?></span>
</p>

<p>
<label>Email</label>
<input type="text" name="email" value="<?= $_POST['email'] ?>" />
<span style="color: #FF0000;"><?= $errors['email'] ?></span>
</p>

<p>
<input type="submit" name="subby" value="GO" />
</p>

</form>
精彩图集

赞助商链接