Я новичок в CodeIgniter. Я пытаюсь вывести представление снова после нажатия кнопки submit, но представление имеет переменную от контроллера, но когда я его пробовал, он не работает.
<?php class Site extends CI_Controller{ public $data1['value'] = "What to insert"; public function index(){ $this->load->view('home',$this->data1); } public function get_product(){ $data = array( 'product_name' => $this->input->post('prod_name') ); $this->site_model->insert_product($data); $this->load->view('home',$this->data1); } } ?>
Вот мое мнение:
<div id="container"> <h1><?php echo $data1;?></h1> <?php echo form_open('site/get_product'); ?> <p> <label for="product">Product Name </label> <input type="text" id="product" name="prod_name" /> </p> <input type="submit" name="submit_but" value="submit"> <?php echo form_close(); ?> </div>
В get_product
мне нужно снова вызвать представление, но я знаю, что это будет такой хлопот, если я снова get_product
его внутри функции.
Ошибка:
Parse error: syntax error, unexpected '[', expecting ',' or ';' in C:\xampp\htdocs\code_igniter\application\controllers\site.php on line 9
Функция __construct вызывает каждый раз, когда вы запускаете скрипт, чтобы вы могли добавлять свои постоянные значения в эту функцию для просмотра или другого использования.
<?php class Site extends CI_Controller{ public $data1 = array(); public function __construct() { $this->data1['value'] = "bla bla"; } public function index(){ $this->load->view('home',$this->data1); } public function get_product(){ $data = array( 'product_name' => $this->input->post('prod_name') ); $this->site_model->insert_product($data); $this->load->view('home',$this->data1); } } ?>
Описание реальной проблемы или ошибки в лучшем случае расплывчато, но я думаю, что это проблема:
public $data1['value'] = "What to insert";
Это не действительное объявление свойства. Если вы хотите объявить свойство « $data1
» как массив, вы должны сделать это:
public $data1 = array('value' => "What to insert");