表单操作不工作插入数据ajax与PHP [重复]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

我想从数据库插入数据而不刷新,使用PHP,MySqli,AJax。但形式行动不起作用。我有一个表名是'tbl_user'和字段'source','source1','source2','成人','孩子','婴儿',也使用相同的名称是id请分享这个想法

**index.php**

<div class="message_box" style="margin:10px 0px;">//ajax Action Massage for use

    <form action='' name="ContactForm" method='post'>

       <select name="source" id="source"  class="custom-select-Source">

           <option selected="selected" disabled="disabled" value="">Source </option>

           <option value="Online">Online</option>

           <option value="Offline">Offline</option>

       </select>

       <div class="custom-select-area">

            <select name="source1" id="source1"  class="custom-select-Source1">

                 <option selected="selected" disabled="disabled" value=""> Source1 </option>

                 <option value="JD">JD</option>

                 <option value="Direct">Direct</option>

                 <option value="Facebook">Facebook</option>

                 <option value="Instagram">Instagram</option>

                 <option value="Inbound">Inbound</option>

                 <option value="Group Departure">Group Departure</option>

                 <option value="Direct Mail">Direct Mail</option>

                 <option value="B2B">B2B</option>

                 <option value="Yuvatrip">Yuvatrip</option>

         </select>

        <input type="text" name="source2" id="source2"   placeholder="Source2" class="input-group-Source2"> 
        </div>

        <input type="number"  name="adult" id="adult"  placeholder="adult" class="adult">

        <input type="number" name="child" id="child"  placeholder="child" class="child">

        <input type="number" name="infant" id="infant"  placeholder="infant" class="infant">

        <p style="text-align: center; margin-top:20px;">

            <button type="submit" id="submit" class="btn btn-default submit-bt">Submit</button>

php脚本在这里

php代码没有ajax工作正常,但我需要Ajax与PHP工作

    <?php
        session_start();

        date_default_timezone_set('Australia/Melbourne');

        if(isset($_POST['submit'])){

           $source = mysqli_real_escape_string($conn, $_POST['source']);

           $source1 = mysqli_real_escape_string($conn, $_POST['source1']);

           $source2 = mysqli_real_escape_string($conn, $_POST['source2']);

           $adult = mysqli_real_escape_string($conn, $_POST['adult']);

           $child = mysqli_real_escape_string($conn, $_POST['child']);

           $infant = mysqli_real_escape_string($conn, $_POST['infant']);

           $reg_id = rand();

           $created = date('y-m-d-h-i-s');

    $query = "INSERT INTO tbl_user(source,source1,source2,adult,child,infant,reg_id,created) 

    VALUES('$source','$source1','$source2','$adult','$child','$infant','$reg_id','$created')";

      if(mysqli_query($conn, $query)){

       $_SESSION['reg_id']=$reg_id;

       header('Location:index.php');

         }  
      }
 ?>

这里的ajax脚本不正常工作不好

$(document).ready(function() {

   var delay = 2000;

   $('.btn-default').click(function(e){

   e.preventDefault();

   // youse source field

   var source = $('#source').val();

   if(source == ''){

   $('.message_box').html(

   '<span style="color:red;">Enter Your source!</span>'
   );

   $('#source').focus();

   return false;
   }

  //use for  source1 field

   var source1 = $('#source1').val();

   if(source1 == ''){

   $('.message_box').html(

   '<span style="color:red;">Enter Your source1!</span>'
   );
   $('#source1').focus();

   return false;
   }

 //use for  source2 field

   var source2 = $('#source2').val();

   if(source2 == ''){

   $('.message_box').html(

   '<span style="color:red;">Enter Your source2!</span>'
   );

   $('#source2').focus();

   return false;
   }

   //use for  adult field

   var adult = $('#adult').val();

   if(adult == ''){

   $('.message_box').html(

   '<span style="color:red;">Enter Your adult!</span>'
   );

   $('#adult').focus();

   return false;
   }

   //use for  child field

   var child = $('#child').val();

   if(child == ''){

   $('.message_box').html(

   '<span style="color:red;">Enter Your child!</span>'
   );

   $('#child').focus();

   return false;
   }

   //use for  infant field

   var infant = $('#infant').val();

   if(infant == ''){

   $('.message_box').html(

   '<span style="color:red;">Enter Your infant!</span>'
   );

   $('#infant').focus();

   return false;
   }

//use for  ajax Action  

   $.ajax
   ({
   type: "POST",

   url: "index.php",

   data: "source="+source+"source1="+source1+"source2="+source2+"adult="+adult+"child="+child+"infant="+infant,

   beforeSend: function() {

   $('.message_box').html(

   '<img src="Loader.gif" width="25" height="25"/>'
   );

   },        
   success: function(data)
   {
   setTimeout(function() {

   $('.message_box').html(data);

   }, delay);

   }
   });
   });

});
php ajax
1个回答
0
投票

您正在尝试使用AJAX发出POST请求但是您将数据作为字符串发送导致问题,请尝试这种方式,

$.ajax
   ({
   type: "POST",

   url: "index.php",
    dataType: "json",
   data:{
       "source":source,
       "source1":source1,
       "source2":source2,
       "adult":adult,
       "child":child,
       "infant":infant
   }, 

   beforeSend: function() {

   $('.message_box').html(

   '<img src="Loader.gif" width="25" height="25"/>'
   );

   },        
   success: function(data)
   {
   setTimeout(function() {

   $('.message_box').html(data);

   }, delay);

   }
   });
   });
© www.soinside.com 2019 - 2024. All rights reserved.