插入没有刷新与PHP和ajax无法正常工作

时间:2015-09-23 08:46:11

标签: php jquery mysql ajax

我正在开发一个asp项目,现在我已经迁移到了php。我使用ajax脚本提交到数据库而不刷新asp中的页面。现在我在php中使用相同的ajax脚本,但它无法正常工作。当我在谷歌浏览器中打开控制台时,它也没有显示任何错误,但是当我检查数据库时,我发现没有提交任何记录。

HTML和AJAX

<!DOCTYPE html>
<html>
<head>
<script src="jquery/jquery.js"></script>

<script>


$(function(){
      $("#form1").submit(function() {
            $.post("insert.php", $(this).serialize(),function(data){
                  // I am done. The page returned by insert_db.php is now in data
            } )
            return false
      })
})

</script>

</head>

<body>
<form method="post" id="form1">
<table>

    <tr>
        <td>firstname</td>
        <td><input type="text" name="fname"  id="fname"/></td>
    </tr>
    <tr>
        <td>lastname</td>
        <td><input type="text" name="lname"  id="lname"/></td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td><input type="submit"  id="submit" value="Submit" /></td>
    </tr>
</table>

</form>
<table border="1">


</table>

</body>
</html>

PHP

<?php require_once('Connections/connect.php'); ?>


<?php
if (isset($_POST['submit']))
    {      
    include 'connections/connect.php';

                    $fname=$_POST['fname'] ;
                    $lname= $_POST['lname'] ;                   


         mysql_query("INSERT INTO users(fname,lname) VALUES ('$fname','$lname')"); 


            }
?>

连接字符串

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_connect= "localhost";
$database_connect = "speedapp";
$username_connect= "root";
$password_connect= "user2";
$connect= mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

6 个答案:

答案 0 :(得分:1)

您尚未选择数据库。 在connect.php

中加入以下内容
$db = mysql_select_db($database_connect);

答案 1 :(得分:0)

$URL = $stm->fetchAll(PDO::FETCH_COLUMN, 0);

答案 2 :(得分:0)

让你的js阻止提交的默认动作:

$(function(){
  $("#form1").submit(function(e){
        e.preventDefault(); //prevent default
        $.post("insert.php", $(this).serialize(),function(data){
              // I am done. The page returned by insert_db.php is now in data
        });
  });
});

您必须在输入提交代码中添加name="submit"

<input type="submit" name="submit" id="submit" value="Submit"/>

让您的插入安全:

<?php
require_once('Connections/connect.php');
if (isset($_POST['submit'])){      
   include 'connections/connect.php';
   $fname=mysql_real_escape_string($_POST['fname']);
   $lname=mysql_real_escape_string($_POST['lname']);                   

   mysql_query("INSERT INTO users(fname,lname) VALUES ('".$fname.",'".$lname."')"); 
}
?>

我建议您不再使用mysql_*,因为它已被弃用,很快就会在最新版本的PHP中删除

答案 3 :(得分:0)

if (isset($_POST['submit']))正在寻找名为submit的输入。

将按钮更新为以下内容......

<td><input type="submit" name="submit" id="submit" value="Submit" /></td>

答案 4 :(得分:0)

检入您的控制台以验证数据是否传递给正确的Url。您也没有在代码中的任何位置使用此变量$ database_connect。您需要选择正确的数据库。

答案 5 :(得分:0)

在输入类型中缺少提交名称。没有它,您的代码将不会在if (isset($_POST['submit']))

后进一步移动