我有一个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']
参数的isset
,file_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中发布数据?