我在_construct函数中使用重定向时遇到问题, 在时间表控制器中,我编写了以下代码,我在浏览器中收到错误“
此问题有时可能是由禁用或拒绝引起的 接受 饼干。
这是我的代码
class Timesheet extends MY_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('timesheet_model');
//$this->load->library('auth');
$username=$this->session->userdata('logged_in');
//$this->load->model('login_model');
if($username['fullname']!=""){
redirect('timesheet');
}
else{
redirect('login');
}
}
请帮我找到摆脱这个问题的方法。 感谢。
答案 0 :(得分:2)
在我看来,你好像在一个循环中走来走去。
检查$ username数组中的fullname元素是否为空,如果是,则重定向回同一个控制器。在网络服务器引发你提到的错误之前,我愿意打赌它会在这样的圈子中流传一段时间。
如果我正在阅读您正在尝试正确执行的操作,如果存在fullname元素以显示您尝试显示的任何信息,是否不会在Timesheet构造函数中调用另一个函数?
我建议您更改逻辑以执行以下操作:
if($username['fullname'] == ""){
redirect('login');
}
else{
//go to another controller method here
}
答案 1 :(得分:0)
行。我知道了。错误只是因为我重定向到我编写代码的同一个控制器。每次重定向到时间表时,它都会进入构造函数,并再次重定向到时间表。同样的事情就像无尽的循环一样。
故障是重定向到同一个控制器。
我
答案 2 :(得分:0)
使用这样的重定向:redirect('timesheet', 'refresh');