当有两个具有不同名称的提交按钮时,是否可以将“OR”运算符添加到php isset提交表单代码? 例如:
if (!isset($_POST['submitRequest'] || $_POST['submit']))
上面的代码提示并出错。请指教。
答案 0 :(得分:3)
尝试:
if(isset($_POST['submitRequest']) || isset($_POST['submit'])){
//do something
}
答案 1 :(得分:0)
不,这是不可能的。你需要每个变量都有自己的isset函数你不能将它们组合起来。
答案 2 :(得分:0)
您可以对多个变量使用isset()
:
if(isset($_POST['submitRequest']) || isset($_POST['submit'])) {
// One of them was pushed
}
将多个参数传递给isset()
时要小心。 As the manual documents:
如果提供了多个参数,则只有在设置了所有参数后,isset()才会返回TRUE。评估从左到右进行,并在遇到未设置的变量时立即停止。
所以isset($_POST['submitRequest'], $_POST['submit'])
相当于isset($_POST['submitRequest']) && isset($_POST['submit'])
。但是,如果要检查!isset($_POST['submitRequest']) || !isset($_POST['submit'])
,则第二句可能很有用。因为当传递多个参数时,isset()
将为第一个未设置的参数返回false,您可以使用!isset($_POST['submitRequest'], $_POST['submit'])
。
答案 3 :(得分:0)
我知道我误解了原帖。
if(isset($_POST['submitRequest'])||isset($_POST['submit'])){
// you can do something here
}
原始(不正确)
您可以使用:
if(!isset($_POST['submitRequest'], $_POST['submit'])){
die("Fail");
}
如果提供了多个参数,该功能将检查所有参数。仅当设置了所有参数时,这将返回TRUE。
答案 4 :(得分:0)
这不是如何使用或运算符。你必须把它放在两个isset调用之间。
if ( ! isset($_POST['submitRequest']) || isset($_POST['submit']) ) { }
你总是要好好看看语法。请记住,如果左侧条件或正确条件为真,则使用或运算符将整个条件评估为true。因此,您总是需要使用带有两个条件的or运算符。
此外,如果您想使用and运算符执行此操作,则可以使用一个isset调用。
if ( isset($_POST['username'], $_POST['password']) ) { }
答案 5 :(得分:0)
您需要分别在各个变量上调用isset函数。您可以选择使用两种语法中的任何一种,具体取决于您遵循的约定。
if(isset($_POST['submitRequest']) || isset($_POST['submit'])){
//do something
}
if(isset($_POST['submitRequest']) OR isset($_POST['submit'])){
//do something
}
答案 6 :(得分:0)
详细说明:
isset()
,empty()
和其他一些不是函数,而是语言结构。因此,根据它们看起来像功能,它们不会以人们可能期望的方式工作。
这里的重要部分是:他们只检查变量,他们不能也不会评估表达式的结果。
||
的使用使$_POST['submitRequest'] || $_POST['submit']
成为表达式。结果仅临时计算,不存储在可设置或为空的已定义变量中。