使用ajax和codegniter添加数据

时间:2018-02-04 19:40:51

标签: php ajax

我在codegniter中的新功能 当我发送数据时,我尝试使用ajax在表中添加数据我现在已经知道并且所有数据都发送良好但没有数据存储在数据库中 这是我的代码 的控制器

public function addusersajax()
    {
        if($this->input->post("action") =="addusersintable")


        {
            $this->load->helper('date');
            $data=array(
                "fullname"=> $this->input->post("fullname"),
                "username"=> $this->input->post("username"),
                "password" => md5($this->input->post("password")),
                "email"=>$this->input->post("email"),
                "groubid"=>$this->input->post("groubid"),
                "date"=>mdate('%Y-%m-%d ', now()),
                "time"=>date(" H:i:s")

            );
            $this->load->model("usersmodel");
            if($this->usersmodel->adduserbyajax($data)){
                echo "done";
            }else{
                echo 'failed';
            }



        }

    }

这是视图表格的功能

public function view()
        {
            $data['pagetitle']="xx";
            $this->load->view("template/admin/header",$data);
            $this->load->view("users/ss",$data);

            $this->load->view("template/admin/footer");

        }

这是我的观点

<div class="container">
    <div id="container">

        <div class="col-lg-8">
            <form id="insercodegn"  method="post"  action="" enctype="multipart/form-data">
                <div class="form-group">
                    <label for="recipient-name" class="control-label">Full Name :</label>
                    <input type="text" class="form-control"  name="fullname" id="fullname" placeholder="please insert fullname" autocomplete="off" required="required">

                </div>
                <div class="form-group">
                    <label for="recipient-name" class="control-label">UserName :</label>
                    <input type="text" class="form-control"  name="username" id="username" placeholder="please insert user name" autocomplete="off" required="required" >
                </div>
                <div class="form-group">
                    <label for="message-text" class="control-label">Password:</label>
                    <input type="password" class="form-control"  name="password" id="password" placeholder="please insert yout password" autocomplete="new-password" required="required" >
                    <i class=" showpass fa fa-eye fa-3" aria-hidden="true"></i>
                </div>
                <div class="form-group">
                    <label for="recipient-name" class="control-label">Email :</label>
                    <input type="text" class="form-control"  name="email" id="email" placeholder="please insert email" autocomplete="off" required="required" >
                </div>
                <div class="form-group">
                    <label for="recipient-name" class="control-label">User Type :</label>
                    <select class="form-control" name="groubid"  id="groubid">
                        <option value="1">Administartor</option>
                        <option value="0">User</option>
                        <option value="2">Maker</option>
                        <option value="3">cheker</option>

                    </select>
                </div>
                <div class="form-group">
                    <label for="exampleInputFile">Image :</label>

                </div>
                <input type="submit" name="action" value="adduserssss">
                <button type="submit"   name="action" value="addusersintable" class="btn btn-primary">addcc</button>
            </form>
        </div>
    </div>
</div>

****这是我在ss vewpage ****中的脚本

 <script>
        $(document).ready(function () {
            $(function () {
                $("#insercodegn").on('submit', function (e) {

                    e.preventDefault();

                    $.ajax({

                        url:'<?php echo base_url()?>Users/addusersajax',
                          //url:"<?php echo base_url() .'Users/addusersajax'?>",

                        method:'post',
                        data: new FormData(this),
                        contentType: false,
                        cache: false,
                        processData: false,
                        success:function(data)  {
                            alert(data);
                        }


                    })



                })

            })

        })

    </script>

我的表单是

                                                                全名 :                                                                            用户名 :                                                                            密码:                                                                                                 邮箱:                                                                            用户类型 :                                              管理员联络                         用户                         制作者                         cheker                                                                            图片 :                                  加                           

2 个答案:

答案 0 :(得分:1)

改变这个:

<input type="submit" name="action" value="adduserssss">
<button type="submit"   name="action" value="addusersintable" class="btn btn-primary">addcc</button>

对此:

<input type="hidden" name="action" value="addusersintable">
<button type="submit" class="btn btn-primary">addcc</button>

按钮没有$_POST数据因此:if($this->input->post("action") =="addusersintable")始终评估为false并且从不击中您的模型。您正在寻找隐藏的输入。

答案 1 :(得分:1)

1)在你的javascript文件中使用小写网址,试试&#34; users / addusersajax&#34;而不是&#34; Users / addusersajax&#34;。

2)在控制器中使用var_dump($ _ POST)或print_r($ _ POST)。在Chrome或Firefox的网络标签中,查看您的请求结果。你必须看到发布的内容。如果一切都好,你必须检查你的模型

3)在您的模型中,最好使用交易。请参阅Codeigniter用户指南中的交易文档。您也可以回显$ this-&gt; db-&gt; last_query()来查看执行的查询。复制执行的查询并从phpMyAdmin或您使用的任何其他MySQL客户端运行它,看看是否有任何错误。