在浏览器中显示记录的用户信息,PHP php codeigniter

时间:2015-12-16 20:02:02

标签: php codeigniter login

我想在登录后显示数据库中的当前用户信息。 这是我的代码。

控制器1(欢迎)

using (var dbContext = MyDbContext())
{
    dbContext.Configuration.ProxyCreationEnabled = false;

    return dbContext.MyProducts.AsNoTracking().Where(product => product.DepartmentId = departmentId);
}

控制器2(成员)

public function getValues() {
    $this->load->model('display_model');
    $result=$this->display_model->authenticateUser();

    if($result){

        $this->session->set_userdata('id', $result['id']);

        redirect('/member/home/');
    }
    else
        redirect('/welcome/');

模型

public function __construct()
{
        // Call the CI_Model constructor
        parent::__construct();

        if($this->session->userdata('id')==NULL)
        {
            redirect('/welcome/');
        }
}
public function home() {

    $this->load->view('member_home');
}

查看1(login_view)

public function authenticateUser(){
$name =$_POST['name'];
$password=$_POST['password'];
$where=array('name'=>$name,
             'password'=>$password);

return $this->db->select('name, password, id')
                ->from('member')
                ->where($where)
                ->get()->row_array();

查看2:登录后视图(member_home)

<h1>Member Login Form</h1>

<?php echo validation_errors(); ?>

<?php echo form_open('Welcome/getValues'); ?>

    Username: <br/>

<input type="text" name="name" /> <br>

Password:  <br>

<input type="password" name="password" /> <br>

<input type="submit" value="Login" name="submit"/>


</form>

现在出现错误 消息:未定义的变量:结果

如何解决它需要帮助..在此先感谢

1 个答案:

答案 0 :(得分:0)

您没有将$ result值传递给您的主视图更新代码,如下所示:

控制器1:

   public function getValues() {
        $this->load->model('display_model');
        $result=$this->display_model->authenticateUser();

        if($result){

            $this->session->set_userdata('id', $result['id']);

            redirect(member/home/$result['id']);
        }
        else
            redirect('/welcome/');

控制器2:

  public function __construct()
    {
            // Call the CI_Model constructor
            parent::__construct();

            if($this->session->userdata('id')==NULL)
            {
                redirect('/welcome/');
            }
    }
    public function home($id = '') {

        $data['id'] = $id;
        $this->load->view('member_home',$data);
    }

注意:

在视图中使用foreach时,必须将查询结果从row_array()更改为result_array()