如何在 php 中重定向/调度? [复制]

Posted

技术标签:

【中文标题】如何在 php 中重定向/调度? [复制]【英文标题】:how to redirect/dispatch in php? [duplicate] 【发布时间】:2013-07-05 01:57:45 【问题描述】:

我正在开发登录功能。

所以我想做的是,在从login.php 提交表单时,如果详细信息正确,则应转到home.php,否则应返回login.php

我的登录处理在process.php。但我不知道如何将redirect/dispatchprocess.php 转到适当的页面。

【问题讨论】:

-1 表示缺乏努力。 other questions, another, another 你要几个? 【参考方案1】:

试试这样的:

<?php
session_start();
//do some login processing

if(login === true)
    exit(header('Location: home.php'));
else
    //Extra marks set a reason why failed
    $_SESSION['error'] = 'Some error about why it failed';
    exit(header('Location: login.php'));

?>

exit(header('Location: *')); 是你的追求。

【讨论】:

diff exit() 是什么? 它会停止进一步执行脚本,这是最佳实践,因为客户端可能在执行进一步代码之前不重定向。【参考方案2】:

像这样使用标题函数:

header('Location: login.php');
exit;

但是在调用 header 函数之前不要打印任何 html 输出,否则会导致错误。

【讨论】:

【参考方案3】:

header('Location: http://someweb.com'); 将重定向用户。

【讨论】:

你回答的第二部分是不正确的。 “HTTP/1.1 需要绝对 URI 作为 Location 的参数:包括方案、主机名和绝对路径,但有些客户端接受相对 URI。” - PHP Documentation

以上是关于如何在 php 中重定向/调度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何确定 URL 是不是在 PHP 中重定向?

如何在 Codeigniter 中重定向和删除 index.php [重复]

如何在java中重定向到外部URL

如何在 Apache 2.4 中重定向 /path/variables/ 以重写为 /index.php/path/variables/?

如何在 Rails 中重定向到 404?

在 PHP 中重定向而不使用 header 方法