Codeigniter: анализ значения из контроллера для просмотра - PullRequest
0 голосов
/ 05 марта 2020

Как анализировать значение с контроллера для просмотра? Я всегда получаю неопределенная переменная ошибка на странице просмотра, когда я вызываю book_title и значение book_category из контроллера. Кто-нибудь может мне помочь? Спасибо.

контроллер (Book. php):

function __construct(){
    parent::__construct();
    $this->load->model('md_book');
}

public function book_controller(){
        $login_type = $this->session->userdata('login_type');
        $page_data['login_type']      = $login_type;
        $page_data['page_name']       = 'book';
        $page_data['page_title']      = 'Book';
        $page_data['page_function']   = __FUNCTION__;
        $page_data['page_breadcrumb'] = generate_breadcrumb(array('Book'));

        $data['book_title']     = $this->input->post('book_title');
        $data['book_category']  = $this->input->post('book_category');

        $this->md_book->addBook($data);

        $this->load->view('index', $page_data);
}

модель (md_book. php):

function addBook($data){
    $this->db->insert('tb_books', $data);
    return $this->db->affected_rows() > 0 ? $this->db->insert_id() : FALSE;
}

просмотр (book. php)

 <div class="form-group form-float">
      <p>Book Title</b></p>
      <div class="form-line">
           <input type="text" name="book_title" class="form-control" size="30" required>
      </div>
</div>

 <div class="form-group form-float">
      <p>Book Category</b></p>
      <div class="form-line">
           <input type="text" name="book_category" class="form-control" size="30" required>
      </div>
</div>

**//I got error on this code
<div class="body">
     Book Title    : <?php echo $book_title;?>
     Book Category : <?php echo $book_category;?>
</div>**

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Я думаю, что вы загружаете неправильное представление:

    $this->load->view('index', $page_data);

Вы должны вызвать правильное представление, тогда вы сможете правильно вывести $book_title & $book_categor. Попробуйте это (учитывая, что книга является вашим правильным видом), это может исправить вашу ошибку:

    $this->load->view('book', $page_data);

Обратитесь к этому руководству пользователя, чтобы узнать больше о представлениях в CodeIgniter

1 голос
/ 05 марта 2020

Попробуйте это

    public function book_controller(){
        $login_type = $this->session->userdata('login_type');
        $page_data['login_type']      = $login_type;
        $page_data['page_name']       = 'book';
        $page_data['page_title']      = 'Book';
        $page_data['page_function']   = __FUNCTION__;
        $page_data['page_breadcrumb'] = generate_breadcrumb(array('Book'));
        $page_data['book_title']     = $this->input->post('book_title');
        $page_data['book_category']  = $this->input->post('book_category');   
        $this->md_book->addBook();
        $this->load->view('index', $page_data);
}

Редактировать модель как

function addBook(){
  $data = array('book_title'=>$this->input->post('book_title'),'book_category'=>$this->input->post('book_category'))
    $this->db->insert('tb_books', $data);
    return $this->db->affected_rows() > 0 ? $this->db->insert_id() : FALSE;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...