我的codeigniter框架中的控件中的未识别属性

时间:2015-07-26 19:47:30

标签: php codeigniter

我是框架的新手,并尝试将值发送到数据库表,我已经完成了它,但现在我在设置BASEPATH并在database.php中提供数据库连接后现在使用模板(着名的alemsaeed免费AdminLTE),我是仍然有错误。

然而,代码看起来很好,但我不知道请告诉我它是我在codeigniter的第二周的原因。

模型

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Mdl extends CI_Model {
function __construct() {
    parent::__construct();
 }
 function form_insert($data){
     $data = array(

        'name' => $this->input->post('name'),
        'fname' => $this->input->post('fname'),
        'dob' =>$this->input->post('dob')
    );
    $this->db->insert('folio', $data);
   }
   }
   ?>

控制器     

 public function index() {

 $this->load->helper(array('form','url'));
 $this->load->view('myself');
  }
 public function eid() {
 $this->load->helper(array('form','url'));
 $this->load->database();
$this->load->model('mdl');
 $this->model->form_insert();
$this->load->view('edu');
 }
 }
 ?>

查看

  

注意:我缩短了整个视图代码,因为它是一个模板   
  对于表格加载通常的

       <?php
         echo form_open(site_url().'/ctrl/eid/');
         $attributes = array('class' => 'sidebar-form');
         ?>


                <label>Enter Your Name</label>
                <input type="text" class="form-control" placeholder="YourName" name="name">
                <label>Father Name</label>
                <input type="text" class="form-control" name="fname" placeholder="father name">
                <input type="date" class="form-control" name="dob" placeholder="DD/MM/YYYY" >
                <button type="submit" class="btn btn-info pull-right">Submit</button>
            </div>
            <div class="box-footer">
                Copyright &copy; 2015-2016 <a     href="http://almsaeedstudio.com"> PIET MULTAN</a>.</strong> All rights reserved.
            </div>
        </div>  

3 个答案:

答案 0 :(得分:1)

从model的form_insert方法中删除参数$ data。喜欢:public function form_insert() {/* rest of code here */},因为你没有从控制器传递任何东西。虽然我建议你从控制器那里做到这一点:

public function eid()
{
    //controller
    $data = array();

    $data['name'] => $this->input->post('name'),
    $data['fname'] => $this->input->post('fname'),
    $data['dob'] =>$this->input->post('dob'),


    $this->load->helper(array('form','url'));
    $this->load->database();
    $this->load->model('mdl');
    if ( $this->model->form_insert($data) )
    {
        //success view
    }
    else
    {
        //insert fail view
    }
}

function form_insert($data)
{
    //model
    $this->db->insert('folio', $data);
    return $this->db->affected_rows() > 0;
}

答案 1 :(得分:1)

在控制器

    function __construct()
    {
      parent::__construct();

      //load default helpers in this

      $this->load->helper('form');
      $this->load->helper('url');
      $this->load->model('mdl');
    }

    public function index()
    {
      $this->load->view('myself');
    }

    public function eid()
    {
      $name = $_POST['name'];
      $fname = $_POST['fname'];
      $dob = $_POST['dob'];

      if(!empty($name) || !empty($fname) || !empty($dob))
      {
          $this->Mdl->form_insert($name, $fname, $dob);//Model name should be Mdl
          $this->load->view('edu');
      }
      else
      {
        //fields are empty
      }


    }

在模型中

  function form_insert($name, $fname, $dob)
  {
      $data = array(
          'name' => $name,
          'fname' => $fname,
          'dob' => $dob
      );
      $this->db->insert('folio', $data);
  }

在视图中(表格应该是)

    <form action="<?php echo base_url();?>index.php/ctrl/eid" method="post" class="sidebar-form">
        <label>Enter Your Name</label>
             <input type="text" class="form-control" placeholder="YourName" name="name">
        <label>Father Name</label>
            <input type="text" class="form-control" name="fname" placeholder="father name">
        <label>Date Of Birth</label>
            <input type="date" class="form-control" name="dob" placeholder="DD/MM/YYYY" >
        <button type="submit" class="btn btn-info pull-right">Submit</button>
    </form>

答案 2 :(得分:0)

问题出在控制器中 它应该是我们加载函数

的代码中的modelfileName而不是模型
$this->mdl->form_insert();

这确实有效:D
下一个问题出现在网站地图
就在这之前

    $config['site_url']='../../folio/';

而不是

   $config['site_url']='http://localhost/folio/index.php/';

但是,我再次感谢所有对你的帮助,这对我来说意义重大。

THK_STACOVRFLW

enter image description here