Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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填写和提交html表单,无需用户输入_Php_Forms_Input_Submit - Fatal编程技术网

使用php填写和提交html表单,无需用户输入

使用php填写和提交html表单,无需用户输入,php,forms,input,submit,Php,Forms,Input,Submit,我在一个名为“foobar.html”的文件中有以下表单: 我用fopen在php脚本中打开这个文件,如何在没有用户输入的情况下填写并提交这个表单?谢谢使用HTML解析器解析出action属性,并使用curl将其转换为相应的目标URL。将整个fire读入一个变量。与其使用FPEN,不如考虑一下,它有点干净。 然后,您将希望将该字符串解析为HTML。您可以使用PHP来实现这一点。通过遍历DOM树到表单标记并读取这些属性,获取表单的操作和方法。接下来,获取表单标记中任何输入的名称。使用这些名称生

我在一个名为“foobar.html”的文件中有以下表单:



我用fopen在php脚本中打开这个文件,如何在没有用户输入的情况下填写并提交这个表单?谢谢

使用HTML解析器解析出
action
属性,并使用curl将其转换为相应的目标URL。

将整个fire读入一个变量。与其使用FPEN,不如考虑一下,它有点干净。

然后,您将希望将该字符串解析为HTML。您可以使用PHP来实现这一点。通过遍历DOM树到表单标记并读取这些属性,获取表单的操作和方法。接下来,获取表单标记中任何输入的名称。使用这些名称生成带有key=value对的查询字符串。如果表单的方法是GET,则将该查询字符串附加到表单操作,否则将其保存在另一个变量中

最后,使用“提交”表单。也就是说,使用表单操作作为CURL请求的URL。如果form方法是GET,那么您应该已经将数据附加到URL,如果该方法是POST,那么您将希望将CURL请求的数据设置为从表单名称生成的数据查询字符串


如果您的问题扩展到如何知道将哪些数据填充到哪些表单字段中,那么这几乎是不可能解决的。当然,您可以查找和猜测某些输入名称所需的数据,但通用解决方案是一个不可能解决的问题。

您是否试图让用户在浏览器上提交表单,而无需用户交互?如果是这种情况,您需要求助于javascript,比如:

<body onLoad="document.getElementById('autoSubmit').submit();">
    <form id="autoSubmit">
    (insert form here) 
    </form>
</body>

(在此插入表格)
这将自动提交表单。一些注意事项:并非每个人都启用了JavaScript,因此您可能希望将输入更改为
type=“hidden”
,并添加一个漂亮的大提交按钮,上面写着
单击此处

<body onLoad="document.getElementById('autoSubmit').submit();">
    <form id="autoSubmit">
    (insert form here) 
    </form>
</body>