【发布时间】:2021-06-04 17:48:22
【问题描述】:
我正在尝试使用 PHP 中的 foreach 函数验证输入,但在我的情况下它不起作用。
我也在尝试使用variables 模式检查空文本框。
我还检查了同一个 StackOverflow 和 SitePoint 上的其他线程,但这对我没有帮助。
请帮助我如何做到这一点。
我正在尝试做的代码在这里code editor -
$remark = trim(stripslashes(htmlspecialchars($_POST['remark'])));
$remark = preg_replace(['/\s{2,}/', '/[\t\n]/'], ' ', $remark);
$name = trim(stripslashes(htmlspecialchars($_POST['name'])));
$name = preg_replace(['/\s{2,}/', '/[\t\n]/'], ' ', $name);
foreach ($_POST as $key => $value) {
if (empty($_POST[$remark])) {
$msg = ['status' => 'error', 'message' => $value[$remark] . ' is required'];
echo json_encode($msg);
exit();
} else if (!preg_match("/^[a-zA-Z-' ]*$/",($_POST[$remark]))) {
$msg = ['status' => 'error', 'message' => $value[$remark] . ' is not valid pattern'];
echo json_encode($msg);
exit();
} else {
$msg = ['status' => 'error', 'message' => 'OK'];
echo json_encode($msg);
exit();
}
}
【问题讨论】:
-
您能具体说明您遇到了什么错误吗?我现在可以通过查看您的代码为您提供快速的解决方案。您可以使用
break而不是exit()吗,因为exit()会停止脚本,而break只会破坏foreach -
没有任何错误发生
标签: php arrays validation foreach