我不能让我的$ _ POST到一些reason..Here工作是代码:
* 的Javascript会从HREF onClick事件称为: *
function feedVote(postId, vote) {
if(vote == "1") {
document.getElementById('voteUpSpan' + postId).innerHTML = "Thank you for voting!";
document.getElementById('voteDownSpan' + postId).innerHTML = "";
var i = new Image();
var d = new Date();
i.src = "voteUp.php?time=" + d.getTime() + "&postId=" + postId;
}
}
所以它欺骗了一个图像,并运行我的voteUp.php页面传递参数而不改变当前页面。
<?php
$id = $_POST['postId'];
$con = mysql_connect("localhost", "username", "password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$update = mysql_query("UPDATE posts SET upvote = upvote + 1 WHERE id = '$id'");
mysql_close($con);
echo "$id";
?>
echo“$ id”;它什么都不返回,所以它显然甚至没有把一个变量放在$ id这就是为什么我的SQL语句不运行,但为什么...
当我在谷歌克罗姆运行的代码,我使用网络跟踪功能下检查源代码,这是它在运行我的欺骗图像时触发的url。
test.com/voteUp.php?time=1327644851907 & =帖子ID 35
**我editted一些信息出来像我的数据库名和用户名/密码和网站网址。
您正在使用GET,而不是POST! $ id = intval($ _ GET ['postId']); – Cheery 2012-01-27 06:36:23
永远不要相信任何用户输入,使用'intval'和类似的函数。 – CSchulz 2012-01-27 11:01:10