2015-06-27 114 views
1

我想驗證我的表單,並使用ajax插入數據在mysql數據庫中。無論是提交驗證正在發生,也沒有數據被插入。我在codeigniter框架中。我是新來BIE我ajax.I無法弄清楚我在哪裏去錯了。這裏是我的代碼如何在codeigniter中使用ajax在mysql數據庫中插入數據?

查看:

 <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._-][email protected][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> 

控制器:

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

型號:

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; 
} 

請幫我....

+0

添加此當提交表單我會用form_validation上控制器端, – user4419336

回答

0

變化,這在您添加AJAX單引號(')

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

在CONTROLER成員

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); 
    } 

在member_model

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

我嘗試你的解決方案,但它不工作..無論是表單驗證或數據輸入db @ Arif – Snehal

+0

什麼表單驗證?我沒有看到這裏的代碼,只是js形式驗證 – Alex

相關問題