使用ajax更新而不刷新的问题

时间:2013-06-05 18:41:23

标签: php mysql ajax

我这里有这个代码,可以帮我更新一个电话号码。 虽然它没有这样做,但是,我得到了成功更改的消息,但没有插入数据库。

这是我的代码: 的index.php

<script type="text/javascript" >
$(function() {
    $(".submit").click(function() {
        var phone = $("#phone").val();

        var dataString = 'phone='+ phone ;

        if(phone=='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
            $.ajax({
                type: "POST",
                url: "update-phone.php",
               data: dataString,
               success: function() {
                   $('.success').fadeIn(200).show();
                   $('.error').fadeOut(200).hide();
               }
           });
       }
       return false;
   });
});
</script>
<div class="modal" style="display: none;">
<?php
if (empty($phone)) {
?>
<form method="post" name="form">
    <input id="phone" name="phone" type="text" />
    <div>
        <input type="submit" value="Submit" class="submit"/>
        <span class="error" style="display:none"> Please Enter Valid Data</span>
        <span class="success" style="display:none"> Registration Successfully</span>
    </div>
</form>

更新phone.php

<?php 
require_once('db.php'); 

if($_POST) {
    $phone = $_POST['phone'];
    mysql_query("UPDATE users SET phone = '$phone' WHERE ID = 5884 ");
}else {}

?>

我缺少什么? 感谢

2 个答案:

答案 0 :(得分:2)

试试这个..

<?php 
require_once('db.php'); 

if($_POST) {
    $phone = $_POST['phone'];
    mysql_query("UPDATE `users` SET `phone` = '$phone' WHERE `ID` = 5884 ");
}else {}

?>

答案 1 :(得分:0)

您是否尝试过使用firebug / developer tools / etc检查ajax请求? 尝试添加echo mysql_error();就在你的mysql_query之后。

不是100%肯定,但可能是if($ _POST)应替换为if(isset($ _ POST ['phone']))

尝试以下php:

<?php
require_once('db.hp');
if (isset($_POST['phone']))
{
  $phone = $_POST['phone'];
  mysql_query("UPDATE users SET phone = '$phone' WHERE ID = 5884 ");
  echo mysql_error();
} 
else
{
  echo "Failed";
}
?>
编辑:你确认它是否真的更新了数据库吗? 此外,您还应该清理您的输入并考虑使用mysqli而不是mysql _ *

滚动