【问题标题】:Show logged user info in browser, PHP php codeigniter在浏览器中显示记录的用户信息,PHP php codeigniter
【发布时间】:2016-03-23 02:54:46
【问题描述】:

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

控制器 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/');
    }
    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() {

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

型号

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();

查看 1 (login_view)

<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>

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

<?php   
         foreach($result as $row){
            ?>
            <li><?php echo $row['first_name'].' '.$row['last_name'];?>
                <br/><strong>Email: </strong><?php echo $row['email'];?>
            </li>

现在错误显示 消息:未定义变量:结果

如何解决它需要帮助.. 提前致谢

【问题讨论】:

  • row_array(); 更改为result_array();,你在哪里加载你的login_view

标签: php codeigniter login


【解决方案1】:

您没有将 $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()

【讨论】:

  • @HasanThr 如果对您有用,请接受答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
  • 2012-08-21
  • 2016-12-26
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多