繁体   English   中英

除了header()以外,还有什么方法可以通过PHP重定向到我网站上的其他页面?

[英]Any way to redirect to another page on my site with PHP, besides header()?

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

如果要在x情况下将用户重定向到同一站点上的另一个页面,该怎么办?

除了使用标头(),还有其他方法吗? 我想使用相对路径,所以我想知道是否还有另一种方式。

基本上,我的页面收到一个POST变量,因此我想这样做,以便如果该变量不满足某些要求,则该页面会将您重定向到另一个页面。

  • 您可以使用$ _SERVER ['PHP_SELF']等在服务器sid上创建绝对路径。
  • 您可以使用javascript,但这仅在启用Javascript的情况下才有效。
  • 您可以将Header()与Refresh一起使用,而不是Location(据我所记得)接受相对地址的Location)编辑:Refresh不是标准化的,但是可以在我所知道的每种浏览器中使用。

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

标头将是您最好的选择。 它发生在服务器端,没有给用户选择的余地。 您也可以使用javascript重定向,但是如果客户端禁用了javascript,它将无法正常工作。 您还可以执行HTML META Refresh重定向,用户也可以关闭该重定向。

标头是最好的方法。 如果要使用相对路径,请尝试以下操作:

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

您还可以使用元刷新方法不要这样做,因为它会弄乱用户的后退按钮。

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

您还可以使用一些javascript:

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

在文档头中尝试:

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

可能不是最佳做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM