转到PHP脚本末尾的新URL

时间:2014-01-09 23:19:49

标签: php url

我正在尝试将当前url与变量连接起来,然后在脚本末尾推送到新的URL。到目前为止,我已经

 $url = $_SERVER['REQUEST_URI'];

 $url2 = $file;

 $url3 = $url . $url2;

如何将用户推送到$ url3。我不能使用标题,我相信这是因为我在脚本中创建了一个html文件。

5 个答案:

答案 0 :(得分:1)

您可以使用header(),只需确保在致电echo之前没有任何header()正在运行,并且您没有任何额外费用PHP脚本开头的空格或行(在第一个<?php之前。)我打赌您看到的错误是“已发送标题”。

header("Location: " . $url3);

或者您可以在脚本末尾回显JS重定向。假设您在浏览器中运行它。

答案 1 :(得分:0)

您可以回复html以进行javascript重定向:

echo "<script>self.location='$url3'</script>"

答案 2 :(得分:0)

如果您已经向客户端发送了一些输出,那么除非您打印javascript,否则您希望能够这样做。

echo '<script type="text/javascript> window.location = \''.$url3.'\';</script>';

虽然这不是一个好方法,但可能这个脚本会在关闭标签后出现。为了避免它,请尝试缓冲输出。

在php代码的开头添加ob_start()

然后在最后尝试:ob_end_flush()

然后你就可以发送标题。

答案 3 :(得分:0)

也许客户端重定向可以解决问题?

带有刷新元标记的HTML重定向: http://en.wikipedia.org/wiki/URL_redirection#Refresh_Meta_tag_and_HTTP_refresh_header

或JS重定向 http://en.wikipedia.org/wiki/URL_redirection#JavaScript_redirects

答案 4 :(得分:0)

将此内容添加到脚本的末尾:

echo <<< EOF
<script type="text/javascript" language="JavaScript">location.href = '$url3';</script>
EOF;