2011-10-26 21 views
0

私はCodeIgniterの中に、以下のアプリケーションを実行しようとすると、私は次のエラーを取得:メッセージ:未定義の変数:データ

A PHP Error was encountered 
Severity: Notice 
Message: Undefined variable: data 
Filename: views/blog.php 
Line Number: 1 

「を私はほとんど時間のためにそれを把握しようとしてきたと私はすることができますそれを働かせてください。私の見解は次のようになります。

<?php foreach($data->result() as $row): ?> 
<h1><?php echo $row->title; ?></h1> 
<p><?php echo $row->post; ?></p> 
<?php endforeach; ?> 

私のコントローラは次のようになります。

<?php 
    class Blog extends CI_Controller { 
    public function index() 
    { 
     $this->load->database(); 
     $data = $this->db->get('posts'); 

     $this->load->helper('url'); 
     $this->load->view('header'); 
     $this->load->view('blog', $data); 
     $this->load->view('footer'); 
    } 
} 

誰もがこの問題を解決する方法を知っていますか?

+2

'$ data'をロードする別のビュー設定していない、本当にこの変数を設定しましたか? –

+0

$ data = $ this-> db-> get( 'posts'); ? – johntheripper

答えて

5

<?php foreach($post->result() as $row): ?> 
<h1><?php echo $row->title; ?></h1> 
<p><?php echo $row->post; ?></p> 
<?php endforeach; ?> 

codeiginterはに変数を送信します$ data配列を使用して表示します。ビューに何かを送る場合は、$ data ['key'] = $ val;のように$ dataに内部を入れてください。

0

ビューの最初の行に$dataの代わりに$blogを使用してください。
私はよく分からないけど、あなたのコントローラでblogと呼ばれるキーに$dataを割り当てる...

0

変数は、アレイ内のキーと値のペアとしてビューに渡す必要があります。 Hereこれを説明する。

$data['post'] = $this->db->get('posts'); 

とあなたのビューで:あなたはthroughtデータを送信する配列は、このようにする必要があり、あなたのコントローラとビュー

を変更する必要が

0

あなたのコントローラではなく、あなたのビュー(blog.php)でエラー通知が発生していないと思います。 $ dataをビューに渡すのを忘れた。

$data['data'] = $this->db->get('posts'); 
$this->load->view('blog', $data); 
0

A PHPのエラーが発生しました 重大度:

メッセージを注意:未定義の変数:MEMDATAを

ファイル名:ビュー/ CHKあなたはこのような何かにあなたのビューに渡される変数を再構築すべきです.PHP

行番号:anothの動的ビューファイルのロード中に6

このエラーを取得しますcodeiginiterのビューファイル。 2番目のビューファイルは、ボタンをonclickした後に表示されます。 コントローラコード -

public function searchMember() 
{ 
    if($this->session->userdata('ci_session')) 
     { 
      $name = $this->session->userdata('username'); 
      $branchID = $this->session->userdata('branchID'); 
      $regID = $this->session->userdata('RegID'); 
      $this->load->model('Main_Model'); 
      $phn = $_POST['No']; 
      $this->load->Model('Main_Model'); 
      $data['memData'] = $this->Main_Model->chMember(); 
      //print_r($data); 
      $this->load->view('chk',$data); 

     } 
     else 
     { 
      redirect(base_url().'index.php/Main_Controller/index'); 
     } 

} 

モデルコード -

public function chMember() 
{ 
    //$query = $this->db->query("SELECT * FROM tbl_registration WHERE branch_ID = $branchID and (first_Name like '%$phn%' or phoneNo1 like '%$phn%')"); 
    $query = $this->db->query("SELECT first_Name FROM tbl_registration WHERE reg_ID = '146'"); 
    return $query->result(); 
} 

ビュー-1

<?php 
        if($memData) 
        { 
         foreach ($memData as $row2) 
         { 
          ?> 
<input value="<?php echo $row2->first_Name ?>"> 

          <?php 
         } 
        } 

私は第二[表示] -

<div id="myDIV"> 
<?php $this->load->view('chk.php');?> 
</div>