Php 使用ajax进行更新而不刷新的问题
我这里有一个代码,用来帮我更新电话号码。 但是它没有做到这一点,我收到了成功更改的消息,但没有插入数据库 这是我的密码: index.phpPhp 使用ajax进行更新而不刷新的问题,php,mysql,ajax,Php,Mysql,Ajax,我这里有一个代码,用来帮我更新电话号码。 但是它没有做到这一点,我收到了成功更改的消息,但没有插入数据库 这是我的密码: index.php <script type="text/javascript" > $(function() { $(".submit").click(function() { var phone = $("#phone").val(); var dataString = 'phone='+ phone ;
<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>
$(函数(){
$(“.submit”)。单击(函数(){
var phone=$(“#phone”).val();
var dataString='phone='+phone;
如果(电话=“”){
$('.success').fadeOut(200.hide();
$('.error').fadeOut(200.show();
}否则{
$.ajax({
类型:“POST”,
url:“更新phone.php”,
数据:dataString,
成功:函数(){
$('.success').fadeIn(200.show();
$('.error').fadeOut(200.hide();
}
});
}
返回false;
});
});
请输入有效数据
注册成功
update-phone.php
<?php
require_once('db.php');
if($_POST) {
$phone = $_POST['phone'];
mysql_query("UPDATE users SET phone = '$phone' WHERE ID = 5884 ");
}else {}
?>
您是否尝试过使用firebug/developer tools/etc检查ajax请求?
尝试添加echo mysql_error();就在你的mysql\u查询之后
不是100%确定,但可能是if($\u POST)应该替换为if(isset($\u 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";
}
?>
试试这个
<?php
require_once('db.php');
if($_POST) {
$phone = $_POST['phone'];
mysql_query("UPDATE `users` SET `phone` = '$phone' WHERE `ID` = 5884 ");
}else {}
?>
回显您的查询并在phpmyadmin中运行,查看是否有任何错误,同时检查您的数据库连接。在我给您答复之前,我需要更多信息。$\u POST中有什么内容(它正在发送您想要的数据)。您也不应该使用if($\u POST)$_POST不是布尔值,而是数组。试试isset(),你曾经连接到数据库吗?从你发布的代码来看,你似乎只是在向天空抛出一个查询,看看它会做些什么。另外:从之前的评论来看,它似乎确实保存在数据库中,你只是不刷新前端来显示新手机(因此你需要显式地重新加载页面才能显示)。在AJAX调用的“success”回调中,需要更新任何必要的HTML元素,以反映更改。如果不想检查是否设置了$\u POST['phone'],则需要检查是否设置了$\u POST。选中$\u POST['phone']将导致警告,指出未设置$\u POST['phone'],因为它将在将值传递给isset之前尝试获取该值。不总是设置$\u POST吗?此外,检查isset($_POST[“phone”])如何触发警告?