当有两个名称不同的提交按钮时,是否可以将“OR”运算符添加到 php isset 提交表单代码?例如:
if (!isset($_POST['submitRequest'] || $_POST['submit']))
上面的代码提示和错误。请指教。
当有两个名称不同的提交按钮时,是否可以将“OR”运算符添加到 php isset 提交表单代码?例如:
if (!isset($_POST['submitRequest'] || $_POST['submit']))
上面的代码提示和错误。请指教。
尝试:
if(isset($_POST['submitRequest']) || isset($_POST['submit'])){
//do something
}
详细说明一下:
isset()
,empty()
还有一些其他的不是函数,而是语言结构。因此,根据它们看起来像函数,它们不会以人们可能期望的所有方式工作。
这里重要的部分是:他们只检查变量,他们不能也不会评估表达式的结果。的使用||
使$_POST['submitRequest'] || $_POST['submit']
表达。结果只是临时计算的,不会存储在可以设置或为空的已定义变量中。
不,这是不可能的。您需要每个变量在其自己的 isset 函数中您不能将它们组合起来。
您可以isset()
在多个变量上使用:
if(isset($_POST['submitRequest']) || isset($_POST['submit'])) {
// One of them was pushed
}
将多个参数传递给isset()
. 作为手册文件:
如果提供了多个参数,则仅当设置了所有参数时 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'])
.
我知道我误解了原来的帖子。
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
这不是如何使用 or 运算符。你必须把它放在两个 isset 调用之间。
if ( ! isset($_POST['submitRequest']) || isset($_POST['submit']) ) { }
你总是必须好好看看语法。请记住,如果左侧条件或右侧条件为真,则 or 运算符用于使整个条件评估为真。因此,您始终需要在两个条件下使用 or 运算符。
此外,如果您想使用 and 运算符执行此操作,您可以只使用一个 isset 调用。
if ( isset($_POST['username'], $_POST['password']) ) { }
您需要分别对各个变量调用 isset 函数。您可以选择使用这两种语法中的任何一种,具体取决于您遵循的约定。
if(isset($_POST['submitRequest']) || isset($_POST['submit'])){
//do something
}
if(isset($_POST['submitRequest']) OR isset($_POST['submit'])){
//do something
}