当我输出此代码时,
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;
它返回
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
请注意,第23行没有错误,因此isset()始终返回true;当我所有的$ _POST []实际设置时,我没有收到任何错误。你可能无法重现这个;它可能只是EasyPHP。我现在使用最新的EasyPHP,PHP 5.3.6 VC9。我一直对EasyPHP的所有版本都有这个问题...所以我不确定是否有“更好”的语法或阻止EasyPHP显示这些错误的方法。
答案 0 :(得分: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
答案 1 :(得分:0)
你有没有尝试过:
if (isset($_POST['user'])) {
!isset表示是否未设置。
答案 2 :(得分:0)
如果设置了变量,则isset()返回true,否则返回false。如果未设置$ _POST ['user'],则仅执行当前逻辑。这是故意的吗?
在我看来,你需要删除你的非操作符。
答案 3 :(得分:0)
error_reporting(E_ALL ^ E_NOTICE);
:)
我认为您应该将isset
更改为!empty
...
!empty($_POST["user"])