我有一个表单,在提交时需要使用新网址刷新页面。
然而,新的url需要来自curl函数的输出。目前,我可以让卷曲功能正常运行,但不是用该网址刷新页面,而只是在网页上打印网址。
你知道如何使用该网址刷新页面吗?
提前致谢
编辑:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://uk.ImpulsePay.com/payforit?RouteID=5432&URL=Y");
curl_setopt($ch, CURLOPT_HEADER, 0);
header( "Location: curl_exec($ch)");
curl_close($ch);
如果您访问上面的链接 - 它将显示正文中包含链接的页面。我正在尝试获取页面正文中的链接,然后将页面刷新到该页面。
这有意义吗?
答案 0 :(得分:2)
您需要使用PHP header()方法,请参阅此页面:http://php.net/manual/en/function.header.php
以下是他们的例子:
header("Location: http://www.example.com/"); /* Redirect browser */
请注意以下行:
请记住,在发送任何实际输出之前必须调用header()
如果您需要在某些内容已经“打印”后更改标题,则需要使用输出缓冲,请参阅此页面以开始使用:http://php.net/manual/en/function.ob-start.php
更新: 你的curl_exec($ ch)没有执行,因为你不能在双引号内执行功能,你只能插入变量。
这是你想要做的:
$httpResponse = curl_exec( $ch );
header( "Location: $httpResponse");
假设响应只是一个URL,这会将用户的浏览器重定向到curl请求返回的值。
更新:
我错过了你没有返回转移设置。
您需要在CURLOPT_HEADER
行之后添加此行:
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
这将告诉curl_exec返回响应而不是布尔成功指示。
中的“返回值”部分