【发布时间】:2017-04-11 16:26:52
【问题描述】:
我在新闻提要(如 Facebook)中制作了喜欢/不喜欢按钮。当有人使用 PHP 单击其中一个按钮时,我想更改数据库。我首先在一个表单中制作了两个按钮,但随后 PHP 将在不同的页面上运行并重新加载第一页,导致您返回到新闻提要的顶部(这当然不应该发生)。然后我尝试了 Javascript,但我需要将帖子的 id 从 Javascript 传递给 PHP。我试过用 Cookie 来做这个:
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”。
我做错了什么?
我应该如何将 id 从 JavaScript 传输到 PHP?
当有人单击按钮而新闻源没有返回顶部时,还有其他运行 PHP 代码的好方法吗?
谢谢
【问题讨论】:
标签: javascript php cookies