使用curl提交/检索表单结果

Jas*_*son 10 php post curl libcurl

我需要帮助尝试使用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>
Run Code Online (Sandbox Code Playgroud)

另外,我有php代码在同一页面中处理这个表单.它所做的只是回显表单值.

我一直在使用的卷曲是这样的:

  $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;
Run Code Online (Sandbox Code Playgroud)

当我启动包含curl代码的页面时,我得到了form.php页面内容,但它没有显示PHP在提交表单时应该回显的变量.

我很感激任何帮助.

谢谢.

dqh*_*cks 3

啊啊啊,看了你的评论,问题就清楚了。

您需要在数组中再包含一个 POST 变量。

'submitted' => 'submitted'
Run Code Online (Sandbox Code Playgroud)

如果单击提交按钮,还会返回一个发布值,您可以在表单处理 PHP 中检查该值。

if ($_POST['submitted']) {
Run Code Online (Sandbox Code Playgroud)

但是,在您的curl代码中,您遗漏了“已提交”后变量。

如果这是您要查找的内容,请选中该答案旁边的复选标记。谢谢!