【发布时间】:2015-09-16 20:41:23
【问题描述】:
我有这个 jquery 函数,它将 div 的 id 发送到 php 文件,然后发送到 mysql 表。这很好用,但是我无法访问 php 文件中 $_POST 变量的值。我试图用 print_r($favid)、var_dump($favid) 等来揭示它,但它们都返回类似 'array ()' 或 'NULL' 之类的东西。它正在工作,因为它在 mysql 表中更新得很好。
所以我的问题是,为什么 mysql 表正在接收值,但在 php 文件中尝试访问它时它是空的?
我对此很陌生,任何帮助将不胜感激。 谢谢。
jquery:
$("#button").click(function() {
postid = $(this).parents('.row').attr('id');
$.ajax({
url: "favourites.php",
method: "POST",
data: {
favourite: postid
},
success: function(result) {
alert('success');
}
});
});
php:
session_start();
if(isset($_SESSION['id']) AND isset($_POST['favourite'])){
$user = mysql_real_escape_string($_SESSION['id']);
$favid = mysql_real_escape_string($_POST['favourite']);
$query = mysql_query("SELECT * FROM ajaxfavourites WHERE user=$user AND favid=$favid");
$matches = mysql_num_rows($query);
// If it is not favourited, add as favourite
if($matches == '0'){
mysql_query("INSERT INTO ajaxfavourites (user, favid) VALUES ('$user', '$favid')");
}
// Instead, if it is favourited, then remove from favourites
if($matches != '0'){
mysql_query("DELETE FROM ajaxfavourites WHERE user=$user AND favid=$favid");
}
}
上述两项工作,但我无法像下面这样获得 $favid 的价值......
php:
echo $favid; // shows nothing
echo var_dump($favid); // shows 'NULL'
echo print_r($favid); // shows '1' it should be '3'
【问题讨论】:
标签: php jquery mysql post echo