检查 $_POST 值是否为空

2022-08-30 13:27:46
if(isset($_POST['submit'])) {
    if(!isset($_POST['userName'])) {
        $username = 'Anonymous';
    }      
    else $username = $_POST['userName'];
}

我无法将 设置为“匿名”?它为空或 的值。$username$_POST['userName']


答案 1

如果变量已初始化,isset() 将返回 true。如果表单字段的值设置为 ,则在提交该表单时,该值将始终为“设置”,尽管其中可能没有任何数据。nameuserName

相反,修剪()字符串并测试其长度

if("" == trim($_POST['userName'])){
    $username = 'Anonymous';
}      

答案 2

如果表单已成功提交,则应始终设置,尽管它可能包含空字符串,这与根本不设置不同。而是检查它是否为空()$_POST['userName']

if (isset($_POST['submit'])) {
    if (empty($_POST['userName'])) {
        $username = 'Anonymous';
    } else { 
        $username = $_POST['userName'];
    }
}

推荐