如何解决if!isset$ _ POST [“ user”]被忽略并返回Undefined Index
| 当我输出此代码时,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显示这些错误的方法。
解决方法
您是在说是否未设定been2ѭ。尝试删除否定运算符
!
。
// 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
,你试过了吗:
if (isset($_POST[\'user\'])) {
!isset表示是否未设置。
,如果设置了变量,则isset()返回true;否则,则返回false。仅当未设置$ _POST [\'user \']时,当前逻辑才会执行。这是故意的吗?
在我看来,您需要删除您的not运算符。
,error_reporting(E_ALL ^ E_NOTICE);
:)
我认为您应该将isset
更改为!empty
...
!empty($_POST[\"user\"])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。