我们一直在开发一个系统,我们刚刚发现了这种错误,我们尝试了我们认为在逻辑上正确的条件,但我们总是针对 else 部分。在我们的系统中,我们已将登录系统的用户电子邮件的每个值分配给this->session->userdata('username')
. 当某个用户使用他自己的电子邮件帐户登录时,该值的值自动$this->session->userdata('username')
是登录该用户的电子邮件。但是,如果我使用其他用户电子邮件更改 url 部分中的电子邮件,我将被定向到该帐户,所以我们做了什么,我们在 if 语句部分设置了条件。这是代码:
public function get_course()
{
if($this->session->userdata['username']==$this->uri->segment(3)) {
$data=$this->data;
$tennant_url_id=$this->uri->segment(3);
if(!empty($tennant_url_id)) {
$tennant_code=$tennant_url_id;
} else {
$tennant_code=$this->session->userdata('username');
}
$num_row=$this->session->userdata('total_row');
$total_row=$this->course_booking_model->check_tennant($tennant_code);
$data['tennant_id'] = $tennant_code;
$data['total_row']=$total_row;
$data['data']=$this->course_booking_model->get_all_courses($tennant_code);
$this->load->view('view_course_admin',$data);
} else {
$this->session->set_flashdata('Sess_expire', 'Your session has expired! Please Login again.');
redirect("/admin/logout");
}
}
当我更改 url 中的电子邮件然后我退出时它工作正常。但是,如果我单击页面的任何链接或刷新页面而不更改 url 中的电子邮件,则始终执行 else 部分并将其定向到注销页面。任何人都可以弄清楚这里有什么问题吗?非常感谢