为什么在数据库中插入null


why is null inserted in database?

我正在尝试创建一个表单,用户正在选择一个选项,假设他将选择自己的名字,我使用ajax调用另一个页面,在这个页面中,我创建连接并插入答案-问题是插入null密码index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MyDataBase </title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">   </script>

 $(document).ready(function(){
$("#mysubmit").click( function (){
    $.ajax({
        url:"Final.php",
        type:"POST",
        success: function(success_array)
        {   
            alert(" Well Done ");
        },
        error: function(xhr, ajaxOptions, thrownError)
        {
            alert( " Didn't work ! ");
        }
    });
 });
   });
 </script>  
  </head>
  <form method="post" id = "myform">
  <input type="radio" name="kname" value="X1" />X1<br  />
  <input type="radio" name="kname" value="Y1" />Y1<br  />
  <input type="radio" name="kname" value="A1" />A1<br  />
  <input type="radio" name="kname" value="G1" />G1<br  />
  <input type="submit" onclick="save()"  id="mysubmit"/>
  </form>
  <body>
  </body>
  </html>

Final.php

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Thanks</title>
        </head>
        <body>
        <?php
        $con = mysqli_connect("localhost","root","xyz","test");
        mysqli_query($con,"INSERT INTO name values ('$_POST[kname]')");
        ?>
        </body>
        </html>

您必须通过$_POST['kname']引用kname。

但是请!总是逃避你的价值观!

通过ajax提交/发布时,需要添加数据。最简单的是CCD_ 2。

 var form = $('#myform');
 $.ajax({
    url:"Final.php",
    type:"POST",
    data: form.serialize(),
    ...

或者你可以得到一个单独的字段-

   data: {kname: $('#id_of_your_radio').val()},

只需确保在插入数据库之前对用户数据进行清理即可。