3

私と同じシナリオに関連する SO の投稿はほとんど見たことがありませんが、適切な解決策が見つかりませんでした。だから私の問題と一緒に質問を投稿しています。

HTMLフォームがあります

 <form method="post" id="myForm">
      <label for="e_name">Name</label>
      <input name="e_name" id="emp_name" value="" type="text" data-theme="a">
      <label for="date">Date</label>
      <input name="date" id="emp_dob" value=""  data-theme="a">
      <label for="gender">Gender</label>
      <select name="gender" id="emp_gender" data-role="slider" data-theme="a" data-inline="true">
        <option value="male">Male</option>
        <option value="female">Female</option>        
      </select>
      <label for="address">Address</label>
      <textarea name="address" id="emp_address" value="" type="text" data-theme="a"></textarea><br><br>      
      <input type="button" id="insert" value="Submit">      
    </form>

  <div id="someElement"></div>

そして、PHPページへのフォーム要素の送信を実行するために次のものがあります-

$(document).ready(function(){ 
    $("#insert").click(function(e) { 
    e.preventDefault();
    alert("am in the Insert function now");
        $.ajax({
        cache: false,
        type: 'POST',
        url: 'insert.php',
        data: $("#myForm").serialize(),
        success: function(d) {
            $("#someElement").html(d);
        }
        });
    }); 
});

これが私のPHPです-

 <?php
    $con=mysqli_connect("localhost","root","root","employee");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
      $name =" ";
      $dob =" ";
      $gender =" ";
      $address =" ";

        if(isset($_POST['emp_name'])){ $name = $_POST['emp_name']; }
        if(isset($_POST['emp_dob'])){ $dob = $_POST['emp_dob']; }
        if(isset($_POST['emp_gender'])){ $gender = $_POST['emp_gender']; }
        if(isset($_POST['emp_address'])){ $address = $_POST['emp_address']; }

        echo $name;
        echo $dob;
        echo $gender;


echo $address;


$sql="INSERT INTO emp_details (emp_name, emp_gender, emp_address) VALUES ('$name', '$gender', '$address')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }

echo "1 record added";

mysqli_close($con);
?> 

フォームにいくつかの値を入力して [送信] をクリックすると、アクションが適切に実行され、新しい行がデータベースに挿入されます。しかし、すべての行は空です。それらは空であり、「NULL」でもありません。PHP でフィールド値をエコーし​​ようとしましたが、出力がありません。「1 件のレコードが追加されました」はうまく表示されましたが、ここにはフォームの値が表示されません。

これを整理するのを手伝ってください。

前もって感謝します。

4

2 に答える 2