doubi7346 2014-11-28 09:55
浏览 27

会话用户数据出错

This is my Controller:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class admin extends ci_controller{


function __construct(){

    parent::__construct();

    $this->load->library('session');
    $this->load->helper(array('form', 'url', 'security', 'html'));
    $this->load->library('form_validation');
    $this->load->model($this->config->item('admin_model'), 'admin_db_connection', TRUE);
    //$this->load->model('admin_model' ,TRUE);
    //$this->load->helper('security');
    $this->load->helper('date');
    //$this->load->library('Ajax');
    $this->load->library("pagination");
    $this->load->database();
    $this->load->helper('url'); //You should autoload this one ;)
}



public function index(){
    $this->load->view('admin/login');
}


public function check_admin(){ //echo'admin';

    $this->load->helper('form');
    $this->form_validation->set_rules('admin_name','admin name','trim|required|xss_clean');
    $this->form_validation->set_rules('email','Email','trim|required|xss_clean');

    $this->form_validation->set_rules('password','password','trim|required|xss_clean');

    if($this->form_validation->run()== FALSE)
    { //echo 'invalid login ';
        $this->index();
    }
    else
    {
        $data=array();
        $data['admin_name']=$this->input->post('admin_name',true);
        $data['email']=$this->input->post('email',true);
        $data['password']=$this->input->post('password',true);
        //echo "<pre>";

        if ($query = $this->admin_db_connection->check_admin_validation($data))
        {
            // print_r($po);exit;
            $newdata=array
            (
             'id' => $query[0]['id'],
             'admin_name' => $query[0]['admin_name'],
             'email'=>$query[0]['email'],
             'status' => $query[0]['status'],
             'sign_in'=>TRUE
             );
            // echo "<pre>";
            //print_r($newdata);exit;

            $this->session->set_userdata('auth', $newdata);
            //$return= true;
            //print_r($auth);exit;
            redirect('dashboard');
            return TRUE;
        }
        else
        {
            echo 'invalid login';

            $this->index();
            //redirect('admin/index', 'refresh');
            return FALSE;
        }
    }
}

  function logout()
  {

    $this->session->sess_destroy();
    redirect('admin');
  }
}
?>

This is my model:

 <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class admin_model extends ci_model{


function check_admin_validation($data){
    $this->session->userdata('auth');
    $this->db->select('*');
    $this->db->from('admin_user');
    $this->db->where('admin_name' , $data['admin_name']);
    $this->db->where('email', $data['email']);
    $this->db->where('password', $data['password']);
    $query=$this->db->get();
    if($query->num_rows()>0)
    {
        $resulet=$query->result_array();
        $query->free_result();
        return $resulet;
    }
    else        
    {
        return false;   
    }
  }
}
?>

When I use this code $this->session->set_userdata($newdata); instead of $this->session->set_userdata('auth', $newdata); then it works, but above code doesn't. Can someone tell me, where the problem is?

  • 写回答

3条回答 默认 最新

  • douzhang3898 2014-11-28 10:06
    关注

    If I am not mistaken, the second parameter for the set_userdata function is a string, whereas you're passing an array.

    This may be why your code isn't working.

    评论

报告相同问题?

悬赏问题

  • ¥20 易康econgnition精度验证
  • ¥15 线程问题判断多次进入
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致