是否可以自动提交php表单

时间:2010-05-14 15:39:10

标签: php webforms

我有一个网站,其中我有几个php表单,我想填写自动生成的内容(为了练习用户可以提交的不同内容)。我想写一个客户端应用程序,使我能够这样做。

有没有办法使用webtoolkit,java脚本等这样做?

5 个答案:

答案 0 :(得分:4)

如果您已经熟悉php,为什么不在“客户端”使用php呢?您可以使用Client URL package将POST数据提交到Web表单。例如:

<?php
$ch = curl_init();
$data = array('name' => 'phpnoob', 'address' => 'somewhere');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/url/to/your/php/form.php'); // use the URL that shows up in your <form action="...url..."> tag
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?> 

答案 1 :(得分:2)

通过将数据直接发送到您的应用程序来模拟提交可能会更好,更稳定,更有效。 PHPUnit is a great framework for unit testing PHP应用程序。

但是,是的,也可以编写客户端提交。 You could also write Selenium tests,它使用JavaScript与您的网页进行互动。

答案 2 :(得分:0)

如果使用id属性命名表单,则可以调用javascript函数

文档的 myForm会 .submit();

其中 myform 是该表单的名称。

答案 3 :(得分:0)

你可以在body元素上附加一个onload事件,它会自动提交表单。

<body onload="document.form1.submit();document.form2.submit();">
    <form id="form1" action="url" method="post">

    </form>

    <form id="form2" action="url" method="post">

    </form>
</body>

当然,使用jQuery或其他API可以更好地完成此操作。

答案 4 :(得分:0)

如果你是php程序员,那么你可能不想要任何javascript答案。最好的解决方案是

1.USE像paros或HTTP分析器这样的PROXY,它们将为您提供网站表单结构的洞察力

2.删除表单POST或GET VALUE及其来自HTTP分析器或paros代理的SYNTAX。

阅读本教程,这是最好的教程

http://www.html-form-guide.com/php-form/php-form-submit.html

4.根据你在

中记下的结构改变$ _post或$ _get的内容

paros或HTTP分析器