数据未插入数据库,没有显示错误

时间:2017-10-28 13:44:22

标签: php codeigniter

我在数据库中插入数据有问题;没有显示错误,但数据未插入数据库。

控制器代码

function FormData($data){
    if (!empty($_POST['name'])) {
        $data = array(
            'name'       =>  $this->input->post('name'),
            'position'   =>  $this->input->post('position'),
            'about_me'   =>  $this->input->post('about_me'),
            'contact_me' =>  $this->input->post('contact_me'),
            'email'      =>  $this->input->post('email'),
            'temp_addr'  =>  $this->input->post('temp_addr'),
            'perm_addr'  =>  $this->input->post('perm_addr'),
            'skill'      =>  $this->input->post('skill'),
            'photo'      => $this->input->post('photo'),


        );
        $this->Maboutus->form_insert($data);
        redirect('/admin');
    }
}

型号代码

function form_insert($data){
    $this->db->insert('aboutus',$data);
}

查看文件

<div class="container">
        <div class="col-md-8">
             <form  action="#" method="POST" class="form-horizontal">

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="name" class="col-md-4" >Name :</lebel>
                        <input type="text" name="name" id="name" class="col-md-8" placeholder="your name " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Position :</lebel>
                        <input type="text" name="position" id="position" class="col-md-8" placeholder="your position " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                         <lebel for="position" class="col-md-4" >About Me :</lebel>
                         <input type="text" name="about_me" id="about_me" class="col-md-8" placeholder=" your name About me " required>             
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Mobile No :</lebel>
                        <input type="text" name="contact_me" id="contact_me" class="col-md-8" placeholder=" your Mobile number" required>
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Email :</lebel>
                        <input type="text" name="email" id="email" class="col-md-8" placeholder=" your email " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Temporary Addr :</lebel>
                        <input type="text" name="temp_addr" id="temp_addr" class="col-md-8" placeholder=" your Temporary Address " required>
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Permanent Addr :</lebel>
                        <input type="text" name="perm_addr" id="perm_addr" class="col-md-8" placeholder=" your Permanent Address " required>
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Skill :</lebel>
                        <input type="text" name="skill" id="skill" class="col-md-8" class="col-md-8" placeholder="your skill " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <form action="upload.php" method="post" enctype="multipart/form-data">
                        <input type="file" class="col-md-8" name="photo" id="photo">
                    </div>
                </div>

            <div class="col-md-12">
                <div class="form-group">
                  <input class="col-md-8" class="btn btn-primary" type="submit" value="Submit"></br></br>
                </div>
             </div>
              </form>
        </div>

我是PHP新手。数据不在数据库中插入,并且没有显示错误;我能做什么?我试图搜索,但我没有发现任何错误。

2 个答案:

答案 0 :(得分:1)

您没有张贴到控制器/方法,因此帖子无处可去。在视图中更改行

<form action="#" method="POST" class="form-horizontal">

到这个

<form action="<?php echo base_url('controller_name/FormData'); ?>" method="POST" class="form-horizontal">

在控制器中将函数FormData的定义更改为此

function FormData(){ ...

您不需要传递参数,因此不要求方法接收参数。

下一位与您的问题无关,但需要考虑改进。您无需构建要发送到模型的新阵列。由于$_POST将填充您的字段,并且您的表列名称与表单的字段名称完全相同,因此您只需将$_POST发送到模型即可。

$this->Maboutus->form_insert($_POST);

如果发布了您不希望发送到模型的数据,那么在执行插入之前,您将unset这些索引。它应该在模型中完成,这样你就不会弄乱实际的$_POST数组。例如:

function form_insert($data)
{
    unset($data['not_to_be_inserted_key']);  //remove this item from array  
    $this->db->insert('aboutus', $data);
}

但是在您给出的示例中不需要这样做。

答案 1 :(得分:0)

我假设您已成功接收控制器上的$ _POST,然后我可以看到的问题是模型,首先您需要初始化它,如果您还没有,您可以在__construct中执行以下操作< / p>

public function __construct() {
        parent::__construct();
        $this->load->model('Maboutus_model');
    }

请注意,您需要在型号名称

之后添加“_model”

并在调用该函数时使用

执行此操作
$this->Maboutus_model->form_insert($data);