我在尝试使用 curl 将数据发布到页面并在提交表单后检索结果方面需要帮助。
我创建了一个简单的表单:
<form name="test" method="post" action="form.php">
<input type="text" name="name" size="40" />
<input type="text" name="comment" size="40" />
<input type="submit" value="submit" />
</form>
此外,我有 php 代码来处理同一页面中的此表单。它所做的只是回显表单值。
我一直在用的curl是这样的:
$h = curl_init();
curl_setopt($h, CURLOPT_URL, "path/to/form.php");
curl_setopt($h, CURLOPT_POST, true);
curl_setopt($h, CURLOPT_POSTFIELDS, array(
'name' => 'yes',
'comment' => 'no'
));
curl_setopt($h, CURLOPT_HEADER, false);
curl_setopt($h, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($h);
echo $result;
当我启动带有 curl 代码的页面时,我得到了 form.php 页面内容,但它没有显示 提交表单时 PHP 应该回显的变量。
将不胜感激。
谢谢。
最佳答案
AHHHH 在您发表评论后,问题就很清楚了。
您需要在数组中再包含一个 POST 变量。
'submitted' => 'submitted'
如果单击提交按钮,它还会返回一个发布值,您正在检查处理 PHP 的表单。
if ($_POST['submitted']) {
但是,在您的 curl 代码中,您遗漏了“已提交”帖子变量。
如果这是您要查找的内容,请选中此答案旁边的复选标记。谢谢!
关于php - 使用 curl 提交/检索表单结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589160/