首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >消息:未定义变量:用户名

消息:未定义变量:用户名
EN

Stack Overflow用户
提问于 2013-02-20 17:04:55
回答 3查看 2.5K关注 0票数 1

我在Code Factory上学习了一个关于codeigniter的简单登录脚本。我现在可以登录,但是当我想通过代码向用户显示时

代码语言:javascript
复制
Welkom: <?php echo $username ?>!

我得到错误消息:未定义的变量:用户名

我不知道问题是什么,所以我会在你要求的时候发布我的代码。

谢谢

编辑:

我的用户模型。

代码语言:javascript
复制
  <?php
    Class User extends CI_Model
    {
     function login($username, $password)
     {
       $this -> db -> select('id, username, password');
       $this -> db -> from('users');
       $this -> db -> where('username', $username);
       $this -> db -> where('password', MD5($password));
       $this -> db -> limit(1);

       $query = $this -> db -> get();

       if($query -> num_rows() == 1)
       {
         return $query->result();
       }
       else
       {
         return false;
       }
     }
    }
    ?>

我的登录控制器:

代码语言:javascript
复制
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller {

 function __construct()
 {
   parent::__construct();
 }

 function index()
 {
   $this->load->helper(array('form'));
   $this->load->view('login_view');
 }

}

?>

我的家庭控制器:

代码语言:javascript
复制
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start(); //we need to call PHP's session object to access it through CI
class Home extends CI_Controller {

 function __construct()
 {
   parent::__construct();
 }

 function index()
 {
   if($this->session->userdata('logged_in'))
   {
     $session_data = $this->session->userdata('logged_in');
     $data['username'] = $session_data['username'];
     $this->load->view('home_view', $data);
   }
   else
   {
     //If no session, redirect to login page
     redirect('login', 'refresh');
   }
 }

 function logout()
 {
   $this->session->unset_userdata('logged_in');
   session_destroy();
   redirect('home', 'refresh');
 }

}

?>
EN

Stack Overflow用户

发布于 2013-02-20 17:44:19

我将在Home类中做进一步的检查,看看是否

代码语言:javascript
复制
$data['username'] = $session_data['username'];

已设置。试着这样做:

代码语言:javascript
复制
$session_data = $this->session->userdata('logged_in');
$data['username'] = $session_data['username'];
//$this->load->view('home_view', $data);
echo "username: " . $data['username']; exit;
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14975887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档