gpt4 book ai didi

PHP 表单验证函数

转载 作者:可可西里 更新时间:2023-11-01 12:55:48 24 4
gpt4 key购买 nike

我目前正在编写一些 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, $index, $message, &$errors) {     
if (isset($_POST[$index]) && 1 === preg_match($regex, $_POST[$index])) {
return true;
}
$errors[$index] = $message;
return false;
}

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

关于PHP 表单验证函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13945836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com