Переменная массива данных PHP не определена в представлении - PullRequest
0 голосов
/ 23 августа 2010

Я использую codeIgniter и пытаюсь передать массив данных.Я написал так:

$data['username']="Dumbo";

Я также написал это:

$data['shouts']=$this->Musers->getShout();  // retrieve data from table

Затем я пишу:

$this->load->view("welcome_message", $data);

На странице просмотра я написал:

 <?php echo $username;
    foreach ($shouts as $shout)
        {
        echo $shout->shout;
        echo '<br>';
        echo $shout->timeStamp;          
        }
  ?> 

Проблема в том, что, хотя представление действительно получало данные из таблицы и отображало результаты на странице представления, возникла ошибка для $data['username'], говорящая:

"Неопределенная переменная: имя пользователя"

Почему это так?$data['username'] уже определен!Или что я сделал не так?

Ответы [ 2 ]

1 голос
/ 23 августа 2010
<?php echo $data['username']; ?>

Если вы написали это, произойдет ошибка.

Правильный способ - написать как

<?php echo $username; ?>

'username' - это индекс в массиве данных, который передается в представление с использованием метода load

$this->load->view("welcome_message", $data);

Если вам нужно передать массив ...

$data['usernames'] = $username_array;
$this->load->view("welcome_message", $data);

Тогда в представлении,

<?php print_r($usernames); ?>
0 голосов
/ 23 августа 2010

По вашему мнению, сделайте это ..

$data = array(); 
$data['username'] = "something";
$data['shouts']=$this->Musers->getShout();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...