我有以下功能:
public function output_berater(){
if($_REQUEST["action"] != "berater_formular_suche" || $_REQUEST["action"] != "thema_formular_suche"){
print_r($_REQUEST["action"]);
}
return $output;
}
如果我发送的表单中包含隐藏字段berater_formular_suche
或thema_formular_suche
,则print_r
不应显示在屏幕上。
我认为!=
说'if not
'?!
也许$_REQUEST
和if语句有一些特价。
有人可以解释一下我的print_r显示的原因吗?
编辑:
如果我提交表格:
输出$ _REQUEST
Array
(
[action] => berater_formular_suche
[berater] => klaus-testname
)
如果我不提交表格:
输出$ _REQUEST
空数组。
答案 0 :(得分:1)
您必须使用&&
代替||
if($_REQUEST["action"] != "berater_formular_suche" && $_REQUEST["action"] != "thema_formular_suche"){
或者,您可以加载到数组中,然后轻松检查:
$possible_values = ["berater_formular_suche","thema_formular_suche"];
if(!in_array($_REQUEST['action'],$possible_values)) { // Check if your posted values is not in array
print_r($_REQUEST["action"]);
}
答案 1 :(得分:1)
我认为你可以像使用它一样 e.g。
public function output_berater(){
global $_REQUEST;
if($_REQUEST["action"] != "berater_formular_suche" || $_REQUEST["action"] != "thema_formular_suche"){
print_r($_REQUEST["action"]);
}
return $output;
}