我在新聞提要(如Facebook)中製作了喜歡/不喜歡按鈕。當有人使用PHP單擊其中一個按鈕時,我想更改數據庫。我首先在表單中創建了兩個按鈕,但是PHP會在不同的頁面上運行,並重新加載第一頁,導致您返回到新聞提要的頂部(這當然不應該發生)。然後我嘗試了Javascript,但我需要將該帖子的ID從Javascript傳遞到PHP。我試着用餅乾做這個:Cookies Javascript/PHP
document.cookie=
和$_COOKIE[]
function like(id) {
document.cookie="lid="+id;
<?php query("INSERT INTO `likes`(`uid`, `pid`) VALUES (".$_SESSION['id'] . ",".$_COOKIE['lid'].")"); ?>
}
function dislike(id) {
document.cookie="lid="+id;
<?php query("DELETE FROM `likes` WHERE uid=".$_SESSION['id'] . " AND pid=".$_COOKIE['lid']); ?>
}
這沒有工作,所以我加了一些警報,以瞭解發生了什麼事情。
function like(id) {
<?php $_COOKIE['lid'] = "10"; ?>
alert("Like:" + id);
document.cookie="lid="+id;
<?php query("INSERT INTO `likes`(`uid`, `pid`) VALUES (".$_SESSION['id'] . ",".$_COOKIE['lid'].")"); ?>
alert("<?php echo $_COOKIE['lid']; ?>");
}
function dislike(id) {
<?php $_COOKIE['lid'] = "10"; ?>
alert("Dislike:" + id);
document.cookie="lid="+id;
<?php query("DELETE FROM `likes` WHERE uid=".$_SESSION['id'] . " AND pid=".$_COOKIE['lid']); ?>
alert("<?php echo $_COOKIE['lid']; ?>");
}
第一個警報顯示正確的ID,但第二個警報顯示「10」。
我做錯了什麼?
我應該如何將JavaScript從JavaScript傳輸到PHP?
當別人點擊一個按鈕而沒有新聞傳送返回頂部時,是否有其他好方法來運行PHP代碼?
感謝
它不工作。什麼都沒發生。我不明白:''XHR.addEventListener(「load」,function(){ //不喜歡 })' –
這就是服務器返回時運行的回調函數。 – powerc9000
什麼都沒有發生......代碼不起作用。請幫忙 –