Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单上的提交按钮是如何工作的?_Php_Html_Forms - Fatal编程技术网

Php 表单上的提交按钮是如何工作的?

Php 表单上的提交按钮是如何工作的?,php,html,forms,Php,Html,Forms,我有一个简单的表单,用于收集数据并使用POST将其发送到PHP脚本 <form method="post"> <input type="text" name="cost"> <button name="submit" type="submit">Submit</button> </form> 我想知道当我点击提交按钮时会发生什么 PHP手册对isset做了如下说明: isset-确定变量是否已设置且不为空 提交按钮确切

我有一个简单的表单,用于收集数据并使用POST将其发送到PHP脚本

<form method="post">
    <input type="text" name="cost">
    <button name="submit" type="submit">Submit</button>
</form>
我想知道当我点击提交按钮时会发生什么

PHP手册对isset做了如下说明:

isset-确定变量是否已设置且不为空

提交按钮确切设置在什么时候?当我回显echo
$\u POST['submit']时它不输出任何内容

只有当我使用
属性和提交按钮时,我才能在
$\u POST['submit']上获得一些信息。为什么要在提交按钮上使用
?它到底有什么作用?

试试这个

<form action="" method="post">
    <input type="text" name="cost" />
    <input type="submit" name="submit" value="Submit" />
</form>
我想知道当我点击提交按钮时会发生什么

它提交了表格

提交按钮确切设置在什么时候

当用户提交表单时

当我回显echo$_POST['submit']时;它什么也不输出

您没有为它指定值,因此它返回一个空字符串(
$\u POST['submit']==”

为什么要将该值与提交按钮一起使用?它到底做什么


在按钮上,该值不需要,设置该值就足够了,因此您可以检查按钮是否已提交,而不是其他表单。例如,它将整个表单数据提交到目标位置,并使用GETPOST方法将编码数据发送到目标位置

  • GET方法最多只能发送1024个字符
  • POST方法对要发送的数据大小没有任何限制

正如您所引用的,该值为空,是一个空字符串。因此,变量已设置且不为null。我看不出有什么问题。
只是表单中的另一个字段,可以发布到提交页面。如果你设置了这个值,它就会得到这个值,如果不是,它就是一个空字符串。谢谢@jmattheis,这很有帮助。有一个问题,到底是什么让事情发生了?这就像声明一个变量,但不给它赋值一样吗?@innowqhy你的变量有一个值,这个值就是空的。f、 例如这样
$emptystring=“”
;因此,
echo$emptystring
将不会产生任何结果,因为该值为空。因此,只有当我们有多个表单时,才需要表单上的值来确保单击了特定的按钮?您可以为另一个表单上的按钮指定另一个名称,因此您只需检查哪个按钮设置为
if($\u POST['login']){//do login stuff}否则,如果($_POST['register']){//do register stuff}
或者您指定了一个值,那么也可以这样做。
<form action="" method="post">
    <input type="text" name="cost" />
    <input type="submit" name="submit" value="Submit" />
</form>
if(isset($_POST['submit']) && $_POST['submit']=="Submit"){
    echo "set";
}