如何在codeigniter中使用多级用户登录? [英] how to use multi level user login in codeigniter ?

查看:56
本文介绍了如何在codeigniter中使用多级用户登录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

代码:

<?php
    if($this->input->post('login'))
    { 
      $username = $this->input->post('username');
      $password = $this->input->post('password');

      $this->db->select('firstname,password');
      $this->db->from('client');
      $where = "firstname='$username' and password = '$password'";
      $this->db->where($where);
      $query = $this->db->get();
      echo $this->db->last_query();
      $result = $query->result_array();
      $num = $query->num_rows();
      if($num >'0')
      {
        $this->db->select('firstname,password,client_id');
        $this->db->from('client');
        $where = "firstname ='$username' and password = '$password'";
        $this->db->where($where);
        $query = $this->db->get();
        echo $this->db->last_query();
        $result = $query->result_array();
        $this->session->set_userdata('client_id',$result);
        $Session = $this->session->set_userdata('user_type',$result);
        if($session == true)
        {
          redirect('/admins/home');
        }
        else
        {
          redirect('/partner/home');
        }
      }
      else
      {
        echo "<p style='color: red;font-weight: bold;'>Wrong username or password! </p>";
      }
    }
  ?>
  <form method="post">
    <input type="text" name="username" placeholder="Username"/>
    <input type="password" name="password" placeholder="Password"/>
    <input type="submit" name="login" id="login" value="login">
  </form>

这可能是重复的问题。在这里,我的数据库中有一个表,名称为client。在此表中,我声明了一个列名用户类型。我想根据用户类型登录。例如,如果我的用户类型是admin,那么只有那些用户可以登录的用户才能登录,而如果用户类型是partner,则只有同伴可以登录。那么,我该怎么做呢?请帮我。

This might be duplicate question. Here, I have a table in my database having name client. In this table I m declare a column name user type. I want to login according to user type. for example if my user type is admin then only those user can login who having user type admin similarly if user type is partner then only partner can login. So, how can I do this ? please help me.

谢谢

推荐答案

尝试以下代码:

if($this->input->post('login'))
{ 
      $username = $this->input->post('username');
      $password = $this->input->post('password');

      $this->db->from('client');
      $this->db->where('firstname',$username);
      $this->db->where('password',$password);
      $query = $this->db->get();
      $result = $query->result_array();

      if($query->num_rows() > 0)
      {
            $this->session->set_userdata('client_id',$result);

            if($query->row('user_type') == 'admin'){
                redirect('/admins/home');
            }elseif ($query->row('user_type') == 'partner') {
                redirect('/partner/home');
            }else{
                redirect('home');
            }

      }else{
            echo "<p style='color: red;font-weight: bold;'>Wrong username or password! </p>";
      }
}  

注意:分离所有代码模型,视图和控制器

NOTE: You should separate all your code Model, View and Controller

这篇关于如何在codeigniter中使用多级用户登录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆