我一直在使用下面的代码通过 $_POST 验证我的用户输入:
if(isset($_POST['name']) && !empty($_POST['name'])) {
$n=$_POST['name'];
}
else {
$errors[] = "Please give a name";
}
此代码检查是否实际设置了“name”,这是显而易见且需要的。 其次,它检查用户是否在文本字段中输入了一些内容来为名称提供值。 但是,如果用户提供 SPACE ""作为输入,它会接受它,因为它不是空的,它有 SPACE。
我找到了一种正确的方法:
if(isset($_POST['name'])) {
$n = trim($_POST['name']);
if(empty($n)) {
$errors[] = "Please give a name";
}
}
else {
$errors[] = "Please give a name";
}
但是这里我重复了两次相同的错误信息,那么如何优化呢?
最佳答案
if(isset($_POST['name']) && trim($_POST['name']) !== "") {
$n=$_POST['name'];
}
else {
$errors[] = "Please give a name";
}
去掉空的,只做修剪。
老实说,除非你打开通知,否则你甚至不需要 isset:
if(trim($_POST['name']) !== "") {
关于php:验证 POST 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14559623/