【发布时间】:2011-03-23 13:27:07
【问题描述】:
这可能是我的服务器的设置方式,但我的头撞到了墙上。我想说的是,如果$action 没有值或没有“添加”或“删除”的值,则出现错误,否则继续运行脚本。但是,无论$action 是什么,我都会收到错误消息。
$action = $_GET['a'];
if((!isset($action)) || ($action != "add" || $action != "delete")){
//header("location:index.php");
echo "error <br>";
}
$action 设置正确,如果运行类似if($action =="add") 的东西,它可以工作。这是在我的本地主机上,所以可能是设置问题。
【问题讨论】:
-
如果你在上一行设置了$action,那么检查是否设置了是没有意义的
-
弹片,如果 url 的
"?a=xxx"部分中没有任何内容,则$action应该为空。我想如果我将$action设置为静态变量,那你是对的。然而,因为用户输入数据,所以有可能出现问题。如果我错了,请纠正我。 -
哎呀,我的错。 isset() 在空变量上返回 false。无论如何,您应该检查是否设置了 $_GET['a'],而不是 $action。否则你会得到“未定义的索引”错误。
-
您能解释一下“未设置索引”的错误吗?我从来没有听说过。
-
error_reporting(E_ALL);
标签: php if-statement conditional-operator