php:验证POST的最佳方法

Jam*_*mol 2 php validation post

我一直在使用下面的代码通过$ _POST验证我的用户输入:

if(isset($_POST['name']) && !empty($_POST['name'])) {
    $n=$_POST['name'];
}
else {
    $errors[] = "Please give a name";
}
Run Code Online (Sandbox Code Playgroud)

此代码检查"名称"是否实际设置,这是明显且清晰且需要的.其次,它检查用户是否在文本字段中键入内容以给出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";
}
Run Code Online (Sandbox Code Playgroud)

但在这里我重复两次相同的错误消息,那么它如何进行优化呢?

Tod*_*ish 5

if(isset($_POST['name']) && trim($_POST['name']) !== "") {
    $n=$_POST['name'];
}
else {
    $errors[] = "Please give a name";
}
Run Code Online (Sandbox Code Playgroud)

删除空,然后修剪.

说实话,除非你打开通知,否则你甚至不需要asset:

    if(trim($_POST['name']) !== "") {
Run Code Online (Sandbox Code Playgroud)