PHP 表单从外部脚本 XML 数据捕获 POST



我有一个PHP表单,它发送到一个外部Web脚本,然后显示XML响应,我需要捕获响应并在我的PHP脚本上解析它。

我知道我需要定向到自身,但我不知道如何从外部 Web URL 捕获响应以获取 XML 数据。

使用 <form method="POST" action="http://example.net/webaction.php"> ,webaction.php 脚本将返回 XML 数据。

现在我需要更改<form methond="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">,然后从输出中捕获 XML http://example.net/webaction.php。

更新:脚本 http://example.net/webaction.php 输出如下所示,不会被保存或收集,它只返回对提交的表单数据的状态响应。

<datacheck>
<script/>
<webresults>
    <formdata1>167917</formdata1>
    <formdata2>20190101</formdata2>
    <formdata3>10</formdata3>
    <results>
        <code>ACTIVE ( ACT19 )</code>
        <description>
            This product is verified.
        </description>
        <brandinfo>
            ACME Company New York New York
        </brandinfo>
    </results>
</webresults>

有了上面的这些结果,一旦我得到这些结果,我需要以用户友好的方式在我的 php 页面上显示它。

任何指导或方向将不胜感激!!

谢谢!

一个小例子可以帮助你,使用提交按钮$_POST['submit']参数的issetfile_get_contents你可以在提交表单时获得 PHP 文件的输出。我真的希望这就是你搜索的!

<?php
    if (isset($_POST['submit'])) {
        echo file_get_contents('http://example.net/webaction.php');
    }
?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <button name="submit" submit>submit</button>
</form>

如果我理解正确,您需要的是某种代理。如果是这样,这样的事情可能会这样做:

foreach($_REQUEST as $a=>$b)
    {
    $res[]=$a.'='.$b;
    }
echo file_get_contents('http://google.com?'.join('&',$res));

如果您需要 POST 方法,请检查如何使用file_get_contents在PHP中发布数据?