2017-09-12 8 views
1

codeigniterのあるビューから別のビューに変数を送信する方法を知りたいと思います。ビューから変数にビューを送るcodeigniter

MYコントローラ 私はここでその「入力」変数を渡したい:これであなたがロードする

<section class="content"> 
    <?php if($views==""): ?> 
     <center> 
     <h1>Bienvenido</h1> 
     </center> 
    <?php else:?> 
    <?php $this->load->view($views, $input);?> 
    <?php endif; ?> 
    </section> 

マイビューフォーム:私は別のビューをロードし、そこから

public function registroArea() 
    { 
     $data = array('views' => 'registrarArea'); 
     $input = array(); 
     $input["input_name"]= array(
      'name' => 'nombreArea', 
      'class' => 'form-control'); 
     $input["input_submit"]= array(
      'name' => 'submit', 
      'value' => 'Guardar', 
      'class' => 'btn btn-success btn-lg'); 

     //print_r($input); 

     $this->load->view('template', $data, $input); 
    } 

マイテンプレートビューを「入力」の変数:

<?php echo form_open('GuardarArea') ?> 
      </br></br> 
      <div class="container"> 
       <div class="row"> 
       <div class="col-xs-3 col-md-3"></div> 
       <div class="col-xs-6 col-md-6"> 
        <div class="form-group">       
        <?php echo form_label("nombre del area", "nombreArea") ?> 
         <div class="controls"> 
         <?php echo form_input($input_name) ?> 
         </div> 
        </div> 
       </div> 
       <div class="col-xs-3 col-md-3"></div> 
       </div> <!-- Div row --> 
      </div> <!-- Div container --> 
      </br></br> 
      <div class="container"> 
       <div class="row"> 
       <div class="col-xs-12 col-md-12"> 
        <center> 
        <?php echo form_submit($input_submit) ?> 
        </center>   
       </div> <!-- Div col-xs-12 col-md-12--> 
       </div><!-- Div row--> 
      </div> <!-- Div container --> 
<?php echo form_close()?> 

ご協力いただきありがとうございます。

+0

私はあなたの最初のビューから '$ input'ではなく' $ input_name'を渡すべきだと思います。そして、2番目のビューで '$ input_name'は' $ input_name'として利用可能になります – coderodour

+0

$ inputname =配列( \t \t \t '名称' => 'nombreArea' \t \t \t 'クラス' => 'フォームコントロール')。 \t \t $ inputsubmit =配列( \t \t \tの 'name' => '提出'、 \t \t \t 'の値' => 'Guardar'、 \t \t \t 'クラス' =>「は、BTN-成功BTN btn- lg '); \t \t $ this-> load-> view( 'template'、$ data、$ inputname、$ inputsubmit); 私はすでに試しました。他のアイデア? –

答えて

0

データ配列に情報を渡す必要があります。通常、ロードされている後続のビューで情報にアクセスできるはずです。

EDIT:load-> viewの3番目の引数は、変数を渡すべきではありません。 参照ドキュメント:Codeigniter Views

行う必要がありますが、データ配列を通して、あなたのコントローラからデータを送信されたよう:

これは $input['input_name']

それともとして(すべて)以降のビューにアクセスすることができます

$data['input'] = array(
     "input_name" => array(
          'name' => 'nombreArea', 
          'class' => 'form-control'), 
     "input_submit" => array(
          'name' => 'submit', 
          'value' => 'Guardar', 
          'class' => 'btn btn-success btn-lg'), 
    ); 

$input_name$input_submitというように、サブアレイを個別に渡すことができます。$data['input_name']$data['input_submit']

$dataパラメータ配列が引き渡されます。

+0

私はカントではない、私はすでに言及した事を@coderoduor、私はまだエラーがあります:メッセージ:未定義の変数:inputname。 –

+0

私はあなたが私の権利を持っているとは思わない、ロードビュー関数の3番目の引数は、変数を渡すためのmentではありません! https://www.codeigniter.com/user_guide/general/views.html#returning-views-as-data – Odyssey1111

+0

私はそれを短期間使用してきたことを申し訳なく思っていますが、問題自体は変数を持ち歩くことですコントローラからテンプレートを通過するフォームビューへ –

関連する問題