【问题标题】:how to redirect user from php file back to `index.html` on dreamhost如何将用户从php文件重定向回dreamhost上的`index.html`
【发布时间】:2013-03-02 23:04:56
【问题描述】:

我正在 DreamHost 上设置一个简单的登录页面。它不会让我将 php 代码放在文件index.html 中。因此,当用户提交电子邮件地址时,我使用$_POST 将电子邮件地址提交到另一个页面mail_auto.php

在看到快速“已发送电子邮件”消息后,我希望将用户从mail_auto.php 引导回index.html 页面。

header()看起来有点复杂,似乎干扰了mail_auto.php余额的执行。

重定向用户的最佳方式是什么?

【问题讨论】:

  • header()一点也不复杂,像这样使用header('Location: index.html');
  • header("Location: index.html"); 是在服务器端重定向某人的最简单方法。你遇到了什么问题?
  • @StevenVondruska ,我还没有遇到问题,但手册似乎建议我必须将 header() 放在脚本的开头。所以,我担心的是脚本的余额不会被执行。
  • 您可以将header() 放在脚本中的任何位置。诀窍是在致电header() 之前,您不能发送任何内容。所以你不能做类似echo "hello world"; header("Location: index.html");

标签: php redirect


【解决方案1】:

要将用户重定向回 index.html,请使用以下命令:

header('Location: index.html');
exit;

或者,如果您想在屏幕上显示“重定向...”之类的内容,您可以使用 meta-refresh 方法或 JavaScript window.location 方法和 setTimeout

元刷新方法:

将此添加到 HTML <head>:

<meta http-equiv="refresh" content="2;url=index.html">

其中 2 是执行刷新前的秒数。

【讨论】:

    【解决方案2】:

    只需在进程结束时回显此 javascript 代码即可。

        <script>
          window.location.href = 'http://www.yourwebsite.com';
        </script>
    

    【讨论】:

    • 如果禁用 Javascript 会怎样?
    • yourwebsite.com'"> 内容意味着时间,是的,Shivan 这是另一种解决方案。
    • 元刷新是个草率的解决方案
    【解决方案3】:

    我通常会使用标题。

    您是否考虑过使用 JavaScript?这不是最好的方法,尽管它会起作用。

    <script type="text/javascript">
       <!--
       window.location = "http://www.google.com/"
       //-->
    </script>
    

    【讨论】:

    • JavaScript 可以被用户禁用。
    • 我同意,这就是为什么我说这不是最好的方法。使用带有 header('Location: index.html') 的 php 将是首选方式,尽管用户表示这会干扰他们的代码。
    • ancient browsers 这样评论 JS 代码 ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2011-05-30
    相关资源
    最近更新 更多