if(!isset($ _ POST ["user"])被忽略并返回Undefined Index

Xif*_*nie 2 php post isset

当我输出这段代码时

23  if(!isset($_POST['user'])) {
24    $user = $_POST['user'];
25    $user2 = $user;
26    $pass[0] = $_POST['password'];
27    $pass[1] = $_POST['password2'];
28    $email[0] = $_POST['email'];
29    $email[1] = $_POST['email2'];
30    $agree = $_POST['agreed'];
31    $reprint['user'] = $user;
32    $reprint['password'] = $pass[0];
33    $reprint['email'] = $email[0];
34    $reprint['agree'] = $agree;
Run Code Online (Sandbox Code Playgroud)

它返回

Notice: Undefined index: user in C:\Program Files\EasyPHP-5.3.6.0\www\Arena\create_account.inc on line 24
Notice: Undefined index: password in C:\Program Files\EasyPHP-5.3.6.0\www\Arena\create_account.inc on line 26
Notice: Undefined index: password2 in C:\Program Files\EasyPHP-5.3.6.0\www\Arena\create_account.inc on line 27
Notice: Undefined index: email in C:\Program Files\EasyPHP-5.3.6.0\www\Arena\create_account.inc on line 28
Notice: Undefined index: email2 in C:\Program Files\EasyPHP-5.3.6.0\www\Arena\create_account.inc on line 29
Run Code Online (Sandbox Code Playgroud)

请注意,第23行没有错误,因此isset()始终返回true; 当我所有的$ _POST []实际设置时,我没有收到任何错误.你可能无法重现这个; 它可能只是EasyPHP.我现在使用最新的EasyPHP,PHP 5.3.6 VC9.我一直对EasyPHP的所有版本都有这个问题...所以我不确定是否有"更好"的语法或阻止EasyPHP显示这些错误的方法.

kar*_*m79 7

你是说,如果$_POST['user']被设置.尝试删除否定运算符!.

// if user key has *not* been set
if(!isset($_POST['user'])) {
    $user = $_POST['user']; // undefined index because there is no 'user' key


if(isset($_POST['user'])) {
    $user = $_POST['user']; // no problems here
Run Code Online (Sandbox Code Playgroud)