Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将用户信息传递到codeigniter中的视图_Php_Codeigniter_Session_Login - Fatal编程技术网

Php 将用户信息传递到codeigniter中的视图

Php 将用户信息传递到codeigniter中的视图,php,codeigniter,session,login,Php,Codeigniter,Session,Login,我试图从数据库中获取用户详细信息,并将其放入会话中,以便在视图中使用。我已经尽了我所能,但我总是出错。未定义的变量电子邮件 型号: function login($username, $password) { $this->db->select('authTbl.id, authTbl.password, authTbl.username, authTbl.email, authTbl.mobile'); $this->db->fr

我试图从数据库中获取用户详细信息,并将其放入会话中,以便在视图中使用。我已经尽了我所能,但我总是出错。未定义的变量电子邮件

型号

function login($username, $password)
    {
        $this->db->select('authTbl.id, authTbl.password, authTbl.username, authTbl.email, authTbl.mobile');
        $this->db->from('users as authTbl');
        $this->db->where('authTbl.username', $username);
        $this->db->where('authTbl.isDeleted', 0);
        $query = $this->db->get();

        $user = $query->result();

        if(!empty($user)){
            if(verifyHashedPassword($password, $user[0]->password)){
                return $user;
            } else {
                return array();
            }
        } else {
            return array();
        }
    }
function isLoggedIn()
    {
        $isLoggedIn = $this->session->userdata('isLoggedIn');
        $data['title'] = 'Login';
        if(!isset($isLoggedIn) || $isLoggedIn != TRUE)
        {
            $this->load->view('templates/header');
            $this->load->view('users/login', $data);
            $this->load->view('templates/footer');
        }
        else
        {
            redirect('posts');
        }
    }

    /**
     * This function used to logged in user
     */
    public function login()
    {
        $this->load->library('form_validation');
        $data['title'] = 'Login';
        $this->form_validation->set_rules('username', 'Username', 'required|max_length[128]|trim');
        //$this->form_validation->set_rules('password', 'Password', 'required|max_length[32]|');

        if($this->form_validation->run() === FALSE)
        {
            $this->load->view('templates/header');
            $this->load->view('users/login', $data);
            $this->load->view('templates/footer');
        }
        else
        {
            $username = $this->input->post('username');
            $password = $this->input->post('password');

            $result = $this->user_model->login($username, $password);

            if(count($result) > 0)
            {
                foreach ($result as $res)
                {
                    $sessionArray = array('id'=>$res->id,                    
                                            'username'=>$res->username,
                                            'email'=>$res->email,
                                            'mobile'=>$res->mobile,
                                            'isLoggedIn' => TRUE
                                    );

                    $this->session->set_userdata($sessionArray);
                    $this->session->set_flashdata('user_login', 'Welcome');
                    redirect('posts');
                }
            }
            else
            {
                $this->session->set_flashdata('login_fail', 'Email or password mismatch');

                redirect('users/login');
            }
        }
    }
<?php echo $email; ?>
控制器

function login($username, $password)
    {
        $this->db->select('authTbl.id, authTbl.password, authTbl.username, authTbl.email, authTbl.mobile');
        $this->db->from('users as authTbl');
        $this->db->where('authTbl.username', $username);
        $this->db->where('authTbl.isDeleted', 0);
        $query = $this->db->get();

        $user = $query->result();

        if(!empty($user)){
            if(verifyHashedPassword($password, $user[0]->password)){
                return $user;
            } else {
                return array();
            }
        } else {
            return array();
        }
    }
function isLoggedIn()
    {
        $isLoggedIn = $this->session->userdata('isLoggedIn');
        $data['title'] = 'Login';
        if(!isset($isLoggedIn) || $isLoggedIn != TRUE)
        {
            $this->load->view('templates/header');
            $this->load->view('users/login', $data);
            $this->load->view('templates/footer');
        }
        else
        {
            redirect('posts');
        }
    }

    /**
     * This function used to logged in user
     */
    public function login()
    {
        $this->load->library('form_validation');
        $data['title'] = 'Login';
        $this->form_validation->set_rules('username', 'Username', 'required|max_length[128]|trim');
        //$this->form_validation->set_rules('password', 'Password', 'required|max_length[32]|');

        if($this->form_validation->run() === FALSE)
        {
            $this->load->view('templates/header');
            $this->load->view('users/login', $data);
            $this->load->view('templates/footer');
        }
        else
        {
            $username = $this->input->post('username');
            $password = $this->input->post('password');

            $result = $this->user_model->login($username, $password);

            if(count($result) > 0)
            {
                foreach ($result as $res)
                {
                    $sessionArray = array('id'=>$res->id,                    
                                            'username'=>$res->username,
                                            'email'=>$res->email,
                                            'mobile'=>$res->mobile,
                                            'isLoggedIn' => TRUE
                                    );

                    $this->session->set_userdata($sessionArray);
                    $this->session->set_flashdata('user_login', 'Welcome');
                    redirect('posts');
                }
            }
            else
            {
                $this->session->set_flashdata('login_fail', 'Email or password mismatch');

                redirect('users/login');
            }
        }
    }
<?php echo $email; ?>
查看

function login($username, $password)
    {
        $this->db->select('authTbl.id, authTbl.password, authTbl.username, authTbl.email, authTbl.mobile');
        $this->db->from('users as authTbl');
        $this->db->where('authTbl.username', $username);
        $this->db->where('authTbl.isDeleted', 0);
        $query = $this->db->get();

        $user = $query->result();

        if(!empty($user)){
            if(verifyHashedPassword($password, $user[0]->password)){
                return $user;
            } else {
                return array();
            }
        } else {
            return array();
        }
    }
function isLoggedIn()
    {
        $isLoggedIn = $this->session->userdata('isLoggedIn');
        $data['title'] = 'Login';
        if(!isset($isLoggedIn) || $isLoggedIn != TRUE)
        {
            $this->load->view('templates/header');
            $this->load->view('users/login', $data);
            $this->load->view('templates/footer');
        }
        else
        {
            redirect('posts');
        }
    }

    /**
     * This function used to logged in user
     */
    public function login()
    {
        $this->load->library('form_validation');
        $data['title'] = 'Login';
        $this->form_validation->set_rules('username', 'Username', 'required|max_length[128]|trim');
        //$this->form_validation->set_rules('password', 'Password', 'required|max_length[32]|');

        if($this->form_validation->run() === FALSE)
        {
            $this->load->view('templates/header');
            $this->load->view('users/login', $data);
            $this->load->view('templates/footer');
        }
        else
        {
            $username = $this->input->post('username');
            $password = $this->input->post('password');

            $result = $this->user_model->login($username, $password);

            if(count($result) > 0)
            {
                foreach ($result as $res)
                {
                    $sessionArray = array('id'=>$res->id,                    
                                            'username'=>$res->username,
                                            'email'=>$res->email,
                                            'mobile'=>$res->mobile,
                                            'isLoggedIn' => TRUE
                                    );

                    $this->session->set_userdata($sessionArray);
                    $this->session->set_flashdata('user_login', 'Welcome');
                    redirect('posts');
                }
            }
            else
            {
                $this->session->set_flashdata('login_fail', 'Email or password mismatch');

                redirect('users/login');
            }
        }
    }
<?php echo $email; ?>

您正在为用户信息创建会话

尝试获取会话数据:

echo$this->session->userdata('email')


或者尝试在视图$data中传递数据

您正在为用户信息创建会话

尝试获取会话数据:

echo$this->session->userdata('email')


或者尝试在views$data中传递数据,如果您使用的是flashdata,则可以使用以下代码获取:

控制器

if (empty($this->session->userdata('UserID'))) {
            $this->session->set_flashdata('flash_data', 'You don\'t have access!');
            $this->load->view("initialHeader");
            $this->load->view("login");
            redirect('Login');
        }
<?php 
if (!empty($data)) {
            $this->session->set_userdata('permission_error_msg', $data);
            $this->session->mark_as_temp('permission_error_msg', 10); // For 10 Seconds
            $this->load->view('dashboard', array($title, $data));
        } ?>
查看

<?php if(!empty($this->session->flashdata('flash_data'))) {
                                ?>
                                <div class="alert alert-danger">
                                    <?php echo $this->session->flashdata('flash_data'); ?>
                                </div>

                            <?php } ?>
<?php if ($this->session->tempdata('permission_error_msg')) { ?>
    <b class="login_error_msg"><?php
        if (!empty($this->session->tempdata('permission_error_msg'))) {
            echo $this->session->tempdata('permission_error_msg');
        }
        ?></b>
<?php } ?>

如果您将tmp数据用作会话,请参阅以下代码:

控制器

if (empty($this->session->userdata('UserID'))) {
            $this->session->set_flashdata('flash_data', 'You don\'t have access!');
            $this->load->view("initialHeader");
            $this->load->view("login");
            redirect('Login');
        }
<?php 
if (!empty($data)) {
            $this->session->set_userdata('permission_error_msg', $data);
            $this->session->mark_as_temp('permission_error_msg', 10); // For 10 Seconds
            $this->load->view('dashboard', array($title, $data));
        } ?>

查看

<?php if(!empty($this->session->flashdata('flash_data'))) {
                                ?>
                                <div class="alert alert-danger">
                                    <?php echo $this->session->flashdata('flash_data'); ?>
                                </div>

                            <?php } ?>
<?php if ($this->session->tempdata('permission_error_msg')) { ?>
    <b class="login_error_msg"><?php
        if (!empty($this->session->tempdata('permission_error_msg'))) {
            echo $this->session->tempdata('permission_error_msg');
        }
        ?></b>
<?php } ?>


谢谢。

如果您使用的是flashdata,则可以使用以下代码获取:

控制器

if (empty($this->session->userdata('UserID'))) {
            $this->session->set_flashdata('flash_data', 'You don\'t have access!');
            $this->load->view("initialHeader");
            $this->load->view("login");
            redirect('Login');
        }
<?php 
if (!empty($data)) {
            $this->session->set_userdata('permission_error_msg', $data);
            $this->session->mark_as_temp('permission_error_msg', 10); // For 10 Seconds
            $this->load->view('dashboard', array($title, $data));
        } ?>
查看

<?php if(!empty($this->session->flashdata('flash_data'))) {
                                ?>
                                <div class="alert alert-danger">
                                    <?php echo $this->session->flashdata('flash_data'); ?>
                                </div>

                            <?php } ?>
<?php if ($this->session->tempdata('permission_error_msg')) { ?>
    <b class="login_error_msg"><?php
        if (!empty($this->session->tempdata('permission_error_msg'))) {
            echo $this->session->tempdata('permission_error_msg');
        }
        ?></b>
<?php } ?>

如果您将tmp数据用作会话,请参阅以下代码:

控制器

if (empty($this->session->userdata('UserID'))) {
            $this->session->set_flashdata('flash_data', 'You don\'t have access!');
            $this->load->view("initialHeader");
            $this->load->view("login");
            redirect('Login');
        }
<?php 
if (!empty($data)) {
            $this->session->set_userdata('permission_error_msg', $data);
            $this->session->mark_as_temp('permission_error_msg', 10); // For 10 Seconds
            $this->load->view('dashboard', array($title, $data));
        } ?>

查看

<?php if(!empty($this->session->flashdata('flash_data'))) {
                                ?>
                                <div class="alert alert-danger">
                                    <?php echo $this->session->flashdata('flash_data'); ?>
                                </div>

                            <?php } ?>
<?php if ($this->session->tempdata('permission_error_msg')) { ?>
    <b class="login_error_msg"><?php
        if (!empty($this->session->tempdata('permission_error_msg'))) {
            echo $this->session->tempdata('permission_error_msg');
        }
        ?></b>
<?php } ?>


谢谢。

$email将不起作用,因为写$email意味着普通变量,但在您的情况下,您必须这样写:

<?php echo $this->session->userdata('email'); ?>

$email将不起作用,因为写$email意味着普通变量,但在您的情况下,您必须这样写:

<?php echo $this->session->userdata('email'); ?>


您没有传递“$email”变量以通过
$data
查看是。使用sessiontry this$this->session->userdata('email')$此->会话->用户数据(“电子邮件”);是否应放置在视图中?是放置
您没有通过
$data
是传递“$email”变量以查看。使用sessiontry this$this->session->userdata('email')$此->会话->用户数据(“电子邮件”);是否应放置在视图中?是放置