Сообщение: неопределенная переменная: данные

Когда я пытаюсь запустить следующее приложение в 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'); } } 

Кто-нибудь знает, как это исправить?

Solutions Collecting From Web of "Сообщение: неопределенная переменная: данные"

Вы должны изменить свой контроллер и просмотреть

массив, который вы отправляете через данные, должен выглядеть следующим образом:

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

и, на ваш взгляд,

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

codeiginter отправляет переменные для просмотра с использованием массива $ data. Если вы хотите отправить что-то в представление, введите внутри $ data в виде $ data ['key'] = $ val;

Попробуйте использовать $blog вместо $data в первой строке вашего представления.
Я не уверен, но вы назначаете $data ключевому blog в вашем контроллере …

Переменные должны быть переданы в представление как пары ключ-значение внутри массива. Здесь это объясняется.

Я думаю, что уведомление об ошибке не происходит на вашем контроллере, а на вашем представлении (blog.php). Вы забыли передать $ data в представление. Вы должны перестроить переменную, передаваемую вашему представлению, примерно так:

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