我有一个如下的提交按钮:
<input type="submit" name="submit" value="Submit" />
一个。
if($_POST['submit'])
{
...
}
乙
if(isset($_POST['submit']))
{
...
}
℃。
if(isset($_POST['submit']) && ($_POST['submit'] == 'Submit'))
{
...
}
d。
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
...
}
我的问题是,当点击提交按钮时,他们是否执行相同?
答案 0 :(得分:1)
A 会起作用,但会产生有关未定义索引的警告。它的工作原理是因为PHP会自动将未定义的变量和索引视为null
。
B 是通常的做法。
C 也可以。如果您有多个提交按钮,例如
,这也是一种有用的方法<input type="submit" name="submit" value="Submit">
<input type="submit" name="submit" value="Delete">
然后,您需要测试$_POST['submit']
的值,以了解点击了哪一个来提交表单。通常这样做的另一种方法是给每个提交按钮一个不同的名字;然后您可以使用方法B
来测试每个名称。
D 非常有用,如果你可以使用Javascript而不是浏览器界面提交的默认表单提交表单,因为form.submit()
不包含参数中的任何按钮。另请注意,如果您这样做,则不应使用name="submit"
,因为form.submit
将引用该按钮而不是内置提交功能。