【问题标题】:PHP Form Capture POST from external script XML dataPHP 表单从外部脚本 XML 数据中捕获 POST
【发布时间】:2019-01-08 20:47:41
【问题描述】:

我有一个 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']; ?>">,然后从http://example.net/webaction.php 输出中捕获XML。

更新: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 页面上。

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

谢谢!

【问题讨论】:

标签: php xml


【解决方案1】:

一个小例子可以帮助你,在提交按钮的$_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>

【讨论】:

    【解决方案2】:

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

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

    如果您需要 POST 方法,请检查 How to post data in PHP using file_get_contents?

    【讨论】:

      猜你喜欢
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      相关资源
      最近更新 更多