PHP表单验证功能

前端之家收集整理的这篇文章主要介绍了PHP表单验证功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在编写一些 PHP表单验证(我已经验证了客户端)并且有一些重复的代码,我认为这些代码可以在一个不错的小PHP函数中运行良好.但是我无法让它工作.我确信这只是语法问题,但我无法确定它.

任何帮助赞赏.

//Validate phone number field to ensure 8 digits,no spaces.
if(0 === preg_match("/^[0-9]{8}$/",$_POST['Phone']) {
    $errors['Phone'] = "Incorrect format for 'Phone'";
}

if(!$errors) {
    //Do some stuff here....
}

我发现我正在编写验证代码,我可以通过创建函数来节省一些时间和一些代码行.

//Validate Function
function validate($regex,$index,$message) {
    if(0 === preg_match($regex,$_POST[$index])) {
        $errors[$index] = $message;
    }

并称之为……

validate("/^[0-9]{8}$/","Phone","Incorrect format for Phone");

任何人都可以看到为什么这不起作用?

注意我在处理此问题时已禁用客户端验证以尝试触发错误,因此我为“电话”发送的值无效.

让我们尝试一些更深思熟虑的东西.

你想这样使用它:

if (validate(...)) {
    // It's ok
}

那我建议这个:

function validate($regex,$message,&$errors) {     
    if (isset($_POST[$index]) && 1 === preg_match($regex,$_POST[$index])) {
        return true;            
    }
    $errors[$index] = $message; 
    return false;        
}

现在您有机会在错误时转储出验证,或者您可以链接这些传递$errors并将其填入验证错误.没有使用全局变量.

猜你在找的PHP相关文章