我正在制作一个php表单,我使用ajax插入到mysql表中。显然,我有一个问题。
这是我的JS,唯一不起作用的是完成功能,它从不考虑“msg”部分,它总是显示“失败”。
$(document).ready(function(){
$('#submit-button').click(function(){
var data = $('#myform').serialize();
$.ajax({
type: "POST",
url: "my-file.php",
data: data
}).done(function( msg ) {
console.log(msg);
if(msg == "create"){
$('.message').fadeIn().html('created row').delay(1600).fadeOut();
} else if(msg == "maj"){
$('.message').fadeIn().html('updated row').delay(1600).fadeOut();
} else {
$('.message').fadeIn().html('failed').delay(1600).fadeOut();
}
});
});});
这是my-file.php的一部分,其中我根据所做的动作回显'create'或'maj'。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if($count == 0){
$sql = "INSERT INTO testCookie (
`option_cms_name`,
`option_cms_value`,
`option_cms_type`,
`option_cms_version`,
`option_cms_libelle`,
`option_cms_description`,
`option_cms_lien`,
`option_cms_active`,
`option_cms_date_crea`,
`option_cms_modif`,
`option_cms_users_id`
)
VALUES
('cookies', '".$cookievarstock."','script' ,'1.0' ,'Cookies' ,'Barre dinformation sur les cookies' ,'' ,'1' ,'2015-12-08 14:14:00' ,'".$cookiedate."' ,1);";
echo 'create';
}
else{
$sql = "UPDATE testCookie SET option_cms_value='".$cookievarstock."' WHERE option_cms_name='cookies';";
echo 'maj';
}
}
我不知道是什么问题,因为当我在登录控制台时,'maj'或'create'出现......
如果你们中有人知道为什么它不起作用,我将非常感激。谢谢!
编辑:这是我的$ count变量的作用,只是检查行是否已经存在。
$checkcookie = "SELECT option_cms_name FROM testCookie WHERE option_cms_name='cookies'";
$proccesscookie = $conn->query($checkcookie);
$count = mysqli_num_rows($proccesscookie);
编辑2:我刚刚发现了这个问题而且非常愚蠢,我的php文件末尾只有两行空行。我用检查了显示的字符数
var numbmsg = msg.length;
alert(numbmsg);
它显示5,而它应该是3 - >这两个空行在我的PHP结尾。 谢谢! =)
答案 0 :(得分:0)
你能尝试改变这样的PHP代码:
注意:我不知道变量 $ count 的含义。
$msg = 'post is empty';
if (!empty($_POST)) {
if($count == 0){
$sql = "INSERT INTO testCookie (
`option_cms_name`,
`option_cms_value`,
`option_cms_type`,
`option_cms_version`,
`option_cms_libelle`,
`option_cms_description`,
`option_cms_lien`,
`option_cms_active`,
`option_cms_date_crea`,
`option_cms_modif`,
`option_cms_users_id`
)
VALUES
('cookies', '".$cookievarstock."','script' ,'1.0' ,'Cookies' ,'Barre dinformation sur les cookies' ,'' ,'1' ,'2015-12-08 14:14:00' ,'".$cookiedate."' ,1);";
$msg = 'create';
}
else{
$sql = "UPDATE testCookie SET option_cms_value='".$cookievarstock."' WHERE option_cms_name='cookies';";
$msg = 'maj';
}
}
echo $msg;