加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP表单验证功能

发布时间:2020-12-13 17:58:31 所属栏目:PHP教程 来源:网络整理
导读:我目前正在编写一些 PHP表单验证(我已经验证了客户端)并且有一些重复的代码,我认为这些代码可以在一个不错的小PHP函数中运行良好.但是我无法让它工作.我确信这只是语法问题,但我无法确定它. 任何帮助赞赏. //Validate phone number field to ensure 8 digits
我目前正在编写一些 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并将其填入验证错误.没有使用全局变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读