PHP用于提交表单或运营商

时间:2012-06-20 09:58:19

标签: php forms submit form-submit isset

当有两个具有不同名称的提交按钮时,是否可以将“OR”运算符添加到php isset提交表单代码? 例如:

if (!isset($_POST['submitRequest'] || $_POST['submit']))

上面的代码提示并出错。请指教。

7 个答案:

答案 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。

参考:http://php.net/manual/en/function.isset.php

答案 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']成为表达式。结果仅临时计算,不存储在可设置或为空的已定义变量中。