2013-05-18 4 views
0

CodeIgniter를 처음 사용했습니다. 제출을 클릭 한 후 뷰를 다시 출력하려고하지만 뷰에서 컨트롤러의 변수가 있지만 시도했을 때 작동하지 않습니다. get_product에서CodeIgniter에서 함수 밖의 변수 선언하기

<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> 

내가 다시보기를 호출해야하지만 난 함수 내에서 다시 선언 할거야 경우 이러한 번거 로움 수 있습니다 알고

<?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); 
     } 

    } 
?> 

여기 내보기입니다.

오류 :

Parse error: syntax error, unexpected '[', expecting ',' or ';' in C:\xampp\htdocs\code_igniter\application\controllers\site.php on line 9 
+0

정확하게 작동하지 않는 것은 무엇을 의미합니까? – deceze

+0

메신저에 오류가 있습니다. 죄송합니다 포함하지 않았습니다. 구문 분석 오류 : 구문 오류, 예기치 않은 '[', 예상 ','또는 '; 9 행의 C : \ xampp \ htdocs \ code_igniter \ application \ controllers \ site.php에 있습니다. – Aoi

답변

1

__construct 기능을 사용하면 스크립트를 실행할 때마다 호출 : 당신이 배열 인 것으로 재산 "$data1"를 선언 할 경우에, 당신은 그렇게해야 보기 또는 다른 사용법.

<?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); 
    } 
} 
?> 
2

실제 문제 또는 오류에 대한 설명은 가장 모호하지만, 나는이 문제라고 생각합니다 :

public $data1['value'] = "What to insert"; 

의 유효한 선언이 아니다 재산. 당신이이 기능에 상수 값을 추가 할 수 있도록

public $data1 = array('value' => "What to insert");