Что делать, если не видит переменную?

0

Вроде делаю всё правильно, но выдаёт такую ошибку:

Message: Undefined variable: eag

контроллер:

public function view($slug = NULL) {

        $this->data['news_item'] = $this->News_model->getNews($slug);

        if (empty($this->data['news_item'])) {
            show_404();
        }

        $this->data['eag'] = $this->data['news_item']['eag'];
        $this->data['gender'] = $this->data['news_item']['gender'];
        $this->data['hobbi'] = $this->data['news_item']['hobbi'];

        $this->load->view('templeates/header', $this->data);
        $this->load->view('templeates/menu', $this->data);
        $this->load->view('templeates/footer');
    }

модель:

public function getNews($slug = FALSE) {
        if ($slug === FALSE) {
            $query = $this->db->get('information');
            return $query->result_array();
        }

        $query = $this->db->get_where('information', array('slug' => $slug));
        return $query->row_array();
    }

И сам html:

<!-- menu start -->

<?php if(!$this->dx_auth->is_logged_in()): ?>
    <div class="col-lg-3">
        <div class="menu_one">
                <h4><?php echo 'Зарегестрируйтесь или войдите в систему'; ?></h4>
            <hr>

            <div class="info">
                <p><b><?php echo 'Здесь может быть ваша фотография'; ?></b></p>
            </div>

            <div class="info">
                <div class="info_color">
                    <h4>Обо мне:</h4>
                </div>

                <h2><?php echo 'Что же тут может появиться когда вы не с нами?'; ?></h2>
                <div class="margin-8"></div>

                <p ><b><a class="btn btn-info" href="/vhod/">Войти</a></b></p>

            </div>

        </div>

        <div class="margin-8"></div>

    </div>
<?php else: ?>
    <div class="col-lg-3">
        <div class="menu_one">
            <div class="ava">
                <img src="/assets/img/ava.jpg" alt="" class="post_img">
            </div>
            <hr>

            <div class="info">
                <p><b>Сменить фото страницы</b></p>
            </div>

            <div class="info">
                <div class="info_color">
                    <h4>Обо мне:</h4>
                </div>

                    <button  class="btn btn-link">редактировать</button>
                    <form action="/news/edit/" method="post">
                        <input hidden type="input" name="slug" value="info_user-1">
                        <input hidden class="hidden" type="input" name="user_id" value="<?php echo $this->dx_auth->get_user_id(); ?>">
                        <p><b>Возраст: <?php echo $eag; ?> </p>
                        <input type="text" name="eag" value=""></b>
                        <p><b>Пол:</p>
                        <input type="text" name="gender" value=""></b>
                        <p><b>Хобби: </p>
                        <input type="text" name="hobbi" value=""></b>
                        <button class="btn btn-outline-success">отправить</button>
                    </form>

            </div>

        </div>

        <div class="margin-8"></div>

        <div class="menu_two">
            <div class="info">
                <div class="info_color">
                    <h3>Что нового?</h3>
                </div>
                <!--Тоже форма в Codeigniter-->
                <div class="my_info">
                    <p>Инфо</p>
                </div>


            </div>
        </div>
    </div>

<?php endif; ?>
<!-- menu end -->
codeigniter

2 ответов

0

Я в вашем коде вообще не вижу вызов переменной god. Может быть вы эту переменную в других контроллерах вызываете?

0

В методе function view напишите после кода 

$this->data['news_item'] = $this->News_model->getNews($slug);

следующий код:

echo "<pre>";
var_dump($this->data['news_item'] );
echo "</pre>";
die();

Вывод сюда покажите. Я подозреваю, что у вас нет в базе поля eag.

Sign up or Log in to write an answer