doutizhou5312 2015-06-27 17:40
浏览 57

如何在codeigniter中使用ajax在mysql数据库中插入数据?

I am trying to validate my form and insert the data in mysql database using ajax.Neither on submit validation is happening nor data is being inserted.I am making this in codeigniter framework. I am new bie to ajax.I am not able to figure out where am going wrong .Here is my code

View :

      <script  type="text/javascript">
      function validate_name(first_name){
        if(first_name.trim() == '' || first_name.length == 0){
        $('.first_name').show();
         $('.first_name').text('Please enter your name');
         return false;
    } else {
      $('.first_name').hide();
      return true;
    }
  }


  function validate_email(email_id){
    var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i);

    if(email_id.trim() == '' || email_id.length == 0){
      $('.email-id').show();
      $('.email-id').text('Please enter email address');
      return false;
    }else if(!pattern.test(email_id)) {
      $('.email-id').show();
      $('.email-id').text('Please enter valid email address');
      return false;
    } else {
      $('.email-id').hide();
      return true;
    }
  }

  function validate_inquiry_form(first_name,email_id){
    var username_validate = validate_name(first_name);
    var email_validate = validate_email(email_id);

    if(username_validate == true && email_validate == true){
      return true;
    } else {
      return false;
    }
  }

  $('#submit_enquiry').click(function(){

      var first_name      = $("input[name=first_name]").val();
      var last_name       = $("input[name=last_name]").val();
      var dob             = $("input[name=dob]").val(); 
      var gender          = $("input[name=gender] :radio:checked").val();
      var email_id        = $("input[name=email_id]").val();
      var password        = $("input[name=password]").val();
      var address         = $("input[name=address]").val();
      var phone           = $("input[name=phone]").val();
      var zipcode         = $("input[name=zipcode]").val();

      var validate_form = validate_inquiry_form(first_name,email_id);
      if(validate_form == true){
        $.ajax({
          url:'<?php echo base_url(); ?>member/register',
          type:'POST',
          data:{ 
                  first_name : first_name ,last_name : last_name ,dob : dob ,male : male ,female : female , email_id : email_id ,password : password ,phone : phone , address : address , zipcode : zipcode
               },

          success: function(data) {

            console.log(data);
          }
        });
      } else {
        return false;
      }
      return false;
  });
</script>


        <form id="registration-form">
          <div class="register">
                    <div class="row">
                          <div class="col1">
                              <label for="first_name">First Name<span>*</span></label> <br/>
                              <input type="text" name="first_name"/>
                    <li class="first_name error"></li>
                          </div>

                          <div class="col2">
                                Last Name<br/>
                                <input type="text" name="last_name"/>
                          </div>
                    </div>

                    <div class="row">
                          <div  class="col1">
                                Date Of Birth <br/>
                                <input type="text" name="dob"/>
                          </div>

                            <div  class="col2">
                              Gender
                              <br/>
                                <input type="radio" name="gender" value="Male" /> Male
                                <input type="radio" name="gender" value="Female" /> Female
                            </div>
                    </div>


                    <div class="row">
                          <div class="col1">
                                Email<br/>
                                <input type="text" name="email_id"/>
                    <li class="email-id error"></li>
                          </div>
                          <div class="col2">
                                Password<br/>
                                <input type="password" name="password"/>
                          </div>
                    </div>

                    <div class="row">
                            <div class="col">
                                  Address<br/>
                                  <textarea name="address" rows="2" ></textarea>
                            </div>
                    </div>

                    <div class="row">
                          <div class="col1">
                                Zipcode<br/>
                                <input type="text" name="zipcode"/>
                          </div>
                           <div class="col2">
                                  Phone<br/>
                                  <input type="text" name="phone"/>
                            </div>
                    </div>

                    <div class="row">
                        <div class="col3">
                          <input class="" type="button" id="submit_enquiry" name="submit_enquiry" value="Submit Enquiry" />
                        </div>
                    </div> 
          </div>
        </form>

Controller:

public function register_user()
    {
        $register_user  = $this->member_model->add_user();
        if($register_user)
        {                
            return true;
        }  
        else 
        {  
            return false;
        }
    }  

Model :

public function add_user()
{
    $add_user = array(
                    'mem_name'=> $this->input->post('first_name'),
                    'mem_lastname'=> $this->input->post('last_name'),
                    'mem_dob'=> $this->input->post('dob'),
                    'mem_gender'=> $this->input->post('gender'),
                    'mem_email'=> $this->input->post('email_id'),
                    'mem_address'=> $this->input->post('address'),
                    'mem_zipcode'=> $this->input->post('zipcode'),
                    'mem_phone'=> $this->input->post('phone'),
                    'mem_password'=> $this->input->post('password'),

    );

    $insert = $this->db->insert('membership', $add_user);
    $insert_id = $this->db->insert_id();
    return  $insert_id;
}

Please help me ....

  • 写回答

2条回答 默认 最新

  • dsb12300 2015-06-27 19:10
    关注

    change in this in your ajax add apostrophe (')

    data:{ 
                      'first_name' : first_name ,'last_name' : last_name ,'dob' : dob , etc...
                   },
    

    add this in your controler member

        function register(){
           $add_user = array(
                        'mem_name'=> $this->input->post('first_name'),
                        'mem_lastname'=> $this->input->post('last_name'),
                        'mem_dob'=> $this->input->post('dob'),
                        'mem_gender'=> $this->input->post('gender'),
                        'mem_email'=> $this->input->post('email_id'),
                        'mem_address'=> $this->input->post('address'),
                        'mem_zipcode'=> $this->input->post('zipcode'),
                        'mem_phone'=> $this->input->post('phone'),
                        'mem_password'=> $this->input->post('password'),
          );
          $this->member_model->add_user($add_user);
        }
    

    in your member_model

    function add_user($add_user){
        $insert = $this->db->insert('membership', $add_user);
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法