Codeigniter Controller无法获取输入后置值

时间:2014-01-20 09:50:33

标签: forms codeigniter post input codeigniter-2

Hy,我有codeigniter的问题。我的控制器无法从我的视图中获取值。这是代码

控制器

 public function konfirmasi_pembayaran() {

 $data['data_penumpang_bayi'] = $this->input->post("data_penumpang_bayi");

if($data['data_penumpang_bayi'] > 0){
    for ($i = 1; $i <= $data['data_penumpang_bayi']; $i++) {
        $data['ortu_bayi'. $i] = $this->input->post("ortu_bayi". $i);
        $data['nationality_bayi'. $i] = $this->input->post("nationalitybayi". $i);
        $data['name_bayi' . $i] = $this->input->post("namebayi" . $i);
        $data['titel_bayi' . $i] = $this->input->post("titelbayi" . $i);
        $data['lastname_bayi' . $i] = $this->input->post("lastnamebayi" . $i);
        $data['date_birth_bayi' . $i] = $this->input->post("datebirthbayi" . $i);
    }
}
     $this->load->view("flight/konfirmasi_pembayaran_page", $data);
}

查看

<div class="control-group">
    <label class="control-label">Titel<span class="required">*</span></label>
    <div class="controls">
        <select class="span6 m-wrap" name="titelbayi<?php echo $i ?>">
            <option value="">Pilih Titel...</option>
            <?php foreach ($json_data->required->titlei1->resource as $value) {
                ?>                        
                <option value="<?php echo $value->id ?>"><?php echo $value->name ?></option>
            <?php } ?>
        </select>
    </div>
</div>
<div class="control-group">
    <label class="control-label">Nama Depan<span class="required">*</span></label>
    <div class="controls">
        <input type="text" value="" name="namebayi<?php echo $i ?>" data-required="1" class="span6 m-wrap"/>
        <input type="hidden" name="data_penumpang_bayi" value="<?php echo $data_penumpang_bayi ?>"/>
    </div>
</div>
<div class="control-group">
    <label class="control-label">Nama Belakang<span class="required">*</span></label>
    <div class="controls">
        <input type="text" value="" name="lastnamebayi<?php echo $i ?>" data-required="1" class="span6 m-wrap"/>
    </div>
</div>
<div class="control-group">
    <label class="control-label">Tanggal Lahir<span class="required">*</span></label>
    <div class="controls">
        <input id="date_birth"  placeholder="(ex.1970-10-10)"  data-date-format="yyyy-mm-dd" name="datebirthbayi<?php echo $i ?>" class="m-wrap m-ctrl-medium date-picker" size="16" type="text" value="" />

    </div>
</div>
<div class="control-group">
    <label class="control-label">Kewarganegaraan<span class="required">*</span></label>
    <div class="controls">
        <select class="span6 chosen-with-diselect" name="nationalitybayi<?php echo $i ?>">
            <option value="">Pilih Kewarganegaraan...</option>
            <?php
            $contents = file_get_contents('https://api.master18.tiket.com/general_api/listCountry?output=json&token=' . $token . '');
            $data = json_decode($contents);
            foreach ($data->listCountry as $key) {
                ?>
                <option <?php if ($key->country_id == "id") { ?> selected="selected" <?php } ?> value="<?php echo $key->country_id; ?>"><?php echo $key->country_id; ?>, <?php echo $key->country_name; ?></option>
                <?php
            }
            ?>
        </select>
    </div>
</div>

控制器代码无法从上一个视图中获取值。我的代码出了什么问题? 任何答案都将非常感激。抱歉我的英文不好

谢谢。

1 个答案:

答案 0 :(得分:0)

在您的html代码示例中,没有表单,也没有提交按钮。你好吗?

在codeigniter(或任何其他MVC框架)中填写表单,提交表单并获取结果页面的概念是:

  1. 使用表单和提交按钮创建一个视图页面。
  2. 提交按钮的操作会调用您的控制器功能
  3. 在控制器功能中,您可以对POST数据执行某些操作
  4. 使用$this->load->view('your_view',$data')
  5. 发回$ data

    你可以在这里找到一个教程(跳过验证部分):http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#tutorial

    希望有所帮助!