我不能讓我的$ _ 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