除了header()之外,还是用PHP重定向到我网站上的另一个页面的方法吗?

时间:2011-02-06 03:55:39

标签: php

我正在编写我的第一个PHP Web应用程序,我有一个问题:

如果我想将用户重定向到同一网站上的其他网页,在x条件下,我该怎么办?

除了使用header()之外还有办法吗?我想使用相对路径,所以我想知道是否还有其他方法。

基本上我的页面收到一个POST变量,我想这样做,如果变量不符合某些要求,页面会将你重定向到另一个页面。

5 个答案:

答案 0 :(得分:2)

  • 您可以使用$ _SERVER ['PHP_SELF']等在服务器sid上创建绝对路径。
  • 您可以使用javascript,但这当然只有在启用Javascript时才有效。
  • 您可以使用带有Refresh的header()而不是Location(据我记得)接受相对地址编辑:Refresh不是标准化的,但适用于我所知道的每个浏览器。

答案 1 :(得分:1)

您可以使用导致刷新的META标记,也可以使用JavaScript设置document.location。但为什么?您已经可以在各种$_SERVER索引中获取当前URL,并且很容易转换为绝对URL。

答案 2 :(得分:1)

标题将是您最好的选择。它发生在服务器端,并没有给用户一个选择。您也可以使用javascript重定向,但如果客户端禁用了javascript,它将无法运行。您还可以执行HTML META刷新重定向,用户也可以关闭它。

答案 3 :(得分:1)

标题是最好的方法。如果你想使用相对路径,试试这个:

$curPath = dirname($_SERVER['PATH_INFO'] ) . "../relative/path";

你也可以使用元刷新方法不要这样做,因为它会搞砸用户后退按钮。:

<meta http-equiv="refresh" content="0;url=relative/path"" />

你也可以使用一些javascript:

<script>window.location="relative/path"</script>

答案 4 :(得分:1)

在你的文档头中尝试:

<meta http-equiv="Refresh" content="0; url=http://www.example.com/" />

可能不是最佳做法。