0

データベースからセッションデータを取得していますが、テーブルのLastName属性を表示できません。また、FirstNameが正常に返されるため、理由がわかりません。データベースにLastName属性があります。私の見解は私にエラーを与えています:メッセージ:未定義のインデックス:姓//ファイル名:controllers / home.php

これが私のモデルです

Class Membership_model extends CI_Model 
{

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



function validate_student($username,$password){
   $this -> db -> select('Student_ID, Firstname,Lastname, password');

   $this -> db -> from('Student');

   $this -> db -> where('Student_ID = ' . "'" . $username . "'");
   $this -> db -> where('password = ' . "'" . MD5($password) . "'");
   $this -> db -> limit(1);

    //If it is all correct

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

    if($query->num_rows() == 1){

         return $query->result();


    }else{
        return false;
    }
}

コントローラー:ホーム

   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['Firstname'] = $session_data['Firstname'];
         $data['Lastname'] = $session_data['Lastname'];
         $this->load->view('home_view', $data);
       }

ホームビュー:

<h2>Welcome <?php echo $Lastname; ?>
4

2 に答える 2

1

セッションデータを印刷し、それで質問を更新します。エラーは 、インデックスの$session_dataがありません。$session_data['Lastname'];

セッションデータを設定したフォームでlogged_in、それで質問を更新してください

于 2012-08-25T01:25:41.937 に答える
0

これは、問題を確実に解決する簡単な解決策です

コントローラーにこのデバッグ行を追加し、内部配列に納得したらコメントします

$session = $this->session->userdata;

echo '<pre>';
   print_r($session);
echo '</pre>';

これは、セッション変数を確認するためのデバッグ ツールです。

条件にこの行を追加してください。

 function index()
         {
$session = $this->session->userdata;
           if(array_key_exists('logged_in',$session)) //Check if array key exists in session
           {
             $session_data = $this->session->userdata('logged_in');
             $data['Firstname'] = $session_data['Firstname'];
             $data['Lastname'] = $session_data['Lastname'];
             $this->load->view('home_view', $data);
           }
于 2012-08-25T09:28:21.320 に答える