【发布时间】:2013-09-25 14:50:46
【问题描述】:
我正在使用 CodeIgniter 在 PHP 中的 Web 应用程序上工作,但我卡住了:P 它很难解释,所以我举个例子。
我有普通的 CodeIgniter 控制器。在这个控制器中,我有这样的功能:
<?php
public function groups($subdomain ='') {
$this->load->library('MyLogin');
$user_id = $this->mylogin->logged_in();
if ($subdomain == '') {
.....
} elseif ($subdomain == 'create') {
.....
} elseif ($subdomain == 'join') {
.....
} elseif ($subdomain == 'leave') {
.....
} elseif ($subdomain == 'assign') {
.....
} else {
.....
}
}
logged_in 函数检查正在加载此页面(子页面)的用户是否已登录。如果没有,他会自动在 login_in 函数中重定向,如下所示:
echo header("Location: /user/login");
5 分钟前这很好用。现在我创建了一个新的子域“分配”。
现在,如果我没有登录并尝试连接到以下 URL 之一,我总是会被重定向
localhost/user/groups
localhost/user/groups/2
localhost/user/groups/create
localhost/user/groups/join
localhost/user/groups/leave
但是如果我连接到
localhost/user/groups/assign
他尝试加载此页面(因为 $user_id 为空而无法正常工作)。 为什么……会发生这种情况?
问候 Teifun2
【问题讨论】:
-
header()有 NO 返回值。echo header(...)完全没有意义。 -
郑重声明,您对
$subdomain的使用不是子域,而是子目录。 -
@MarcB Ups :P 谢谢会改变这个,(但不能解决我的问题)
-
@DanLugg 是的:P 我来自瑞士,所以我不总是得到正确的词对不起 XD
标签: php codeigniter redirect if-statement