如何提交从URL检索表单并使用PHP提交?

如何提交从URL检索表单并使用PHP提交?,php,Php,我找到了一个任务来获取我的技能。任务是从给定的URL获取表单并填写表单。表单将有3个输入,如姓名、电子邮件、计数和平方,以及x和的组合。填写所有字段,在名为count的输入框中,我必须填写count,然后我必须提交表单。我只能使用PHP 表单应该提交到我获取表单的相同URL。我尝试使用cURL,但它再次返回表单,而不是预期的输出 if(!empty($_POST)){ echo "<pre>"; print_r($_POST); echo "</pre&

我找到了一个任务来获取我的技能。任务是从给定的URL获取表单并填写表单。表单将有3个输入,如姓名、电子邮件、计数和平方,以及x和的组合。填写所有字段,在名为count的输入框中,我必须填写count,然后我必须提交表单。我只能使用PHP

表单应该提交到我获取表单的相同URL。我尝试使用cURL,但它再次返回表单,而不是预期的输出

if(!empty($_POST)){
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, true);
    $data = $_POST;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $out = curl_exec($ch);
    $inf = curl_getinfo($ch);
    curl_close($ch);

    echo "<pre>";
    print_r($out);
    print_r($inf);
    echo "</pre>";
    exit;
  }

在提交表格后,我希望得到对提交的感谢。文本相反,我得到了与输出相同的表单。

PHP不能对表单做任何事情。在这种情况下,您应该得到html表单curl,这是一个选项。然后解析表单以获取表单方法get/post、其操作url和所有输入名称

为此,你可以使用类似


从那里,您可以提交另一个请求,方法是根据上面给定的信息手工制作数据。

问题可能是您正在发送数组中的post字段值,而不是URL编码、use或json_编码和检查

检查下面的代码


因为$url是未定义的,所以这非常令人惊讶。是否需要使用php实际读取表单?如果没有,直接从curl发送请求。@KIKOSoftware-这里我只发布了部分代码。如果你愿意,我会发布整个代码。不用麻烦,我想应该可以解决你的问题。
if(!empty($_POST)){
        echo "<pre>";
        print_r($_POST);
        echo "</pre>";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, true);
        $data = $_POST;

        /*** you are direct sending the array value 
        use http_build_query
         or
         $data_string = json_encode($data);
        ***/
        $data_string = http_build_query($data);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string );
        $out = curl_exec($ch);
        $inf = curl_getinfo($ch);
        curl_close($ch);

        echo "<pre>";
        print_r($out);
        print_r($inf);
        echo "</pre>";
        exit;
      }