如何在 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/dispatch
从process.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 中重定向/调度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Codeigniter 中重定向和删除 index.php [重复]
如何在 Apache 2.4 中重定向 /path/variables/ 以重写为 /index.php/path/variables/?