我的控制器使用codeigniter3使表单数据为NULL

时间:2017-01-27 22:53:08

标签: php model-view-controller codeigniter-3

这是我的表格:

<form method = "POST" action = "<?php echo base_url('Usercontroller/insert') ?>">
  <div class="form-group">
    <label for="exampleInputEmail1">Apartament</label>
    <input type="text" name ="txtApartament" class="form-control" id="txtApartament" placeholder="Apartament">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Status</label>
        <select name ="txtStatus" class="form-control">
        <?php foreach($getStatus as $value) { ?>
        <option value = "<?php echo $value->per_id ?>"><?php echo $value->status_name;?></option>
        <?php }?>
    </select>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Nume</label>
    <input type="text" name ="txtNume" class="form-control" id="txtNume" placeholder="Nume">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Persoane</label>
    <input type="text" name ="txtPersoane" class="form-control" id="txtPersoane" placeholder="Personae">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Mp</label>
    <input type="text" name ="txtMp" class="form-control" id="txtMp" placeholder="Mp">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Comentariu</label>
    <input type="text" name ="txtComentariu" class="form-control" id="txtComentariu" placeholder="Comentariu">
  </div>
  <button type="submit" class="btn btn-default">Salveaza</button>
</form>

这是我的控制器插入功能方:

public function insert() {
    $datai= $this->input->post();

    if(isset($datai)){
        $txtApartament = $datai['txtApartament'];
        $txtStatus = $datai['txtStatus'];
        $txtNume = $datai['txtNume'];
        $txtPersoane = $datai['txtPersoane'];
        $txtMp = $datai['txtMp'];
        $txtComentariu = $datai['txtComentariu'];
        $this->Usermodel->insertUser($txtApartament,$txtStatus,$txtNume,$txtPersoane,$txtMp,$txtComentariu);
        redirect('');
    }
}

模特方:

public function insertUser($apartament, $status, $nume, $persoane, $mp, $comentariu){

    $arrayDates = array(
        'apartament' => $apartament,
        'per_id' => $status,
        'nume' => $nume,
        'persoane' => $persoane,
        'mp' => $mp,
        'comentariu' => $comentariu
    );

    $this->db->insert('membri', $arrayDates);

}

当我在论坛上提交时,我会得到这个:

A Database Error Occurred

Error Number: 1048

Column 'apartament' cannot be null

INSERT INTO `membri` (`apartament`, `per_id`, `nume`, `persoane`,     `mp`, `comentariu`) VALUES (NULL, NULL, NULL, NULL, NULL, NULL)

Filename: models/Usermodel.php

Line Number: 28

还有:

A PHP Error was encountered

Severity: Notice

Message: Undefined index: txtApartament

Filename: controllers/Usercontroller.php

Line Number: 18

Backtrace:

File:   /var/www/html/adminigniter1/application/controllers/Usercontroller.php
Line: 18
Function: _error_handler

File: /var/www/html/adminigniter1/index.php
Line: 315
Function: require_once

当我的控制器获取数据时,会使其为NULL,我的表单正确传递数据(检查标题),控制器端可能出现什么问题?

是的,我已经用url和form设置了帮助器!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,不是来自我的代码,它是apache2 ......

在apache的rewrite.load文件中,我添加了一行:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

它有效!