我试图在codeigniter中设置会话。当某人尝试使用电子邮件id和密码登录时。
1)使用电子邮件id查找他/她的角色。然后在会话中返回该结果并重定向到相应的链接。我在下面键入的代码。你能解决这个问题吗?
控制器
public function login_validation() {
$this -> load -> library('form_validation');
$this -> form_validation -> set_rules('email', 'Email', 'required|trim');
$this -> form_validation -> set_rules('password', 'Password', 'required ');
if ($this -> form_validation -> run()) {
$this -> load -> model('model_database');
$sessiondata['var_userrole'] = $this -> model_database -> login_session();
$this -> session -> set_userdata($sessiondata);
if ($var_userrole == admin) {
redirect('welcome/admin');
} else if ($var_userrole == staff) {
redirect('welcome/staff');
} else if ($var_userrole == student) {
redirect('welcome/student');
} else {
redirect('welcome/login');
}
模型
public function login_session() {
$email = $this -> input -> post('email');
$login_id = $this -> db -> query("SELECT var_userrole FROM tbl_login where var_email = '" . $email . "'");
return $login_id -> row_array();
}
首先,在您签入if语句的任何地方都没有定义$var_userrole
控制器
public function login_validation() {
$this -> load -> library('form_validation');
$this -> form_validation -> set_rules('email', 'Email', 'required|trim');
$this -> form_validation -> set_rules('password', 'Password', 'required ');
if ($this -> form_validation -> run()) {
$this -> load -> model('model_database');
$var_userrole = $this -> model_database -> login_session();// was undefined
$sessiondata['var_userrole'] = $var_userrole
$this -> session -> set_userdata($sessiondata);
if ($var_userrole == admin) {
redirect('welcome/admin');
} else if ($var_userrole == staff) {
redirect('welcome/staff');
} else if ($var_userrole == student) {
redirect('welcome/student');
} else {
redirect('welcome/login');
}
模型
public function login_session() {
$email = $this -> input -> post('email');
$login_id = $this -> db -> query("SELECT var_userrole FROM tbl_login where var_email = '" . $email . "'");
//$row = $login_id -> row() // as object return $row->var_userrole;
$row = $login_id -> row_array();
return $row['var_userrole']
}
如果您在此之前正在为auth开发新的东西,请检查CI中的一些auth系统,如ion_auth has group,您可以管理它,并检查用户属于哪个组ion auth
问题内容: 我正在使用新版本(3.0.0)。CodeIgniter的问题,我遇到了一个新问题,我的会话无法正常工作。我的意思是,控制器中的代码是正确的,因为没有错误,但是,当我尝试在视图中打印PHP变量时,什么也没有。 我在MySQL服务器中检查了我的表,什么也没有,我现在不出什么问题了。我把我的代码config.php。(我不太了解这个新版本中的很多内容) 我必须在“ make”会话中添加第一行
我在Codeigniter框架中面临一个新问题。她是我最讨厌的人 这是控制器 模型是
我正在使用CodeIgniter和RestServer实现构建一个APIhttps://github.com/chriskacerguis/codeigniter-restserver 我想使用会话身份验证模式,所以我在配置/rest.php中设置了这个: 在config/config中。php: 我有一个控制器身份验证,其代码如下: 会话存储在数据库中,并包含来自$user的数据。pr回显数据(
我已经在Codeigniter上编写了一个简单的身份验证过程,但存在一个问题。 由于某些原因,当用户浏览站点时,会话会被混淆,并模拟另一个随机用户。 我只是做: 我通过
我正在使用codeigniter。我有个奇怪的问题。我在用户登录时设置会话,并将其重定向到新页面。我观察到,会话有时设置,有时不设置。我尝试过使用codeigniter会话 以下是配置文件的外观:
我正在将我的CodeIgniter 3应用程序迁移到Docker,我遇到了会话问题。由于CI会话,我无法登录应用程序。 似乎CodeIgniter会在服务器的每个请求中重新创建新会话。当我检查包含的内容时,我可以看到两个字段: 新会话的文件由用户创建,并具有正确的权限。 会话配置: Docker图像:,, 我不知道发生了什么。有人能帮帮我吗?