php-刷新后如何保持图像按钮状态
刷新或注销后,我无法保持某些图像按钮的状态。我在页面上的每篇文章上都有一个收藏夹按钮,用户可以单击它来收藏它。我使用以下jquery函数将帖子的唯一id发送到mysql表:php-刷新后如何保持图像按钮状态,php,jquery,mysql,session,post,Php,Jquery,Mysql,Session,Post,刷新或注销后,我无法保持某些图像按钮的状态。我在页面上的每篇文章上都有一个收藏夹按钮,用户可以单击它来收藏它。我使用以下jquery函数将帖子的唯一id发送到mysql表: $('.faver').on('click',function() { var articleId = $(this).closest('.row').attr('id'); $.ajax( { url: "favscript/addremove", method: "POST", d
$('.faver').on('click',function() {
var articleId = $(this).closest('.row').attr('id');
$.ajax(
{
url: "favscript/addremove",
method: "POST",
data: { favourite: articleId },
success: function()
{
alert(<?php echo $favid ?>);
}
});
});
然后我将值插入mysql表,如下所示:
// Firstly, check if article is favourite or not
$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设置为$_SESSION['favorite'],则刷新后所有按钮的按钮状态都将相同
这是我检查按钮状态的方式:
<!--Favourite Button-->
<div id="favouritediv">
<?php
$user = $_SESSION['id'];
$favid = $_SESSION['favourite']; // <- problem here
$query = mysql_query("SELECT * FROM ajaxfavourites WHERE user=$user AND favid=$favid");
$matches = mysql_num_rows($query);
if($matches == 0){
?>
<img id="button" class="faver fave0 tog" src= "favscript/images/0.jpg" onclick="" width="54" height="49">
<?php
}
if ($matches == 1) {
?>
<img id="button" class="faver fave0 tog" src= "favscript/images/1.jpg" onclick="" width="54" height="49">
<?php
}
?>
</div>
<!--Favourite Button END-->
如果我直接将$favid设置为文章的id,比如:$favid=3;它会工作得很好,但我不知道如何正确地使用$session变量或其他可以分别获取每个按钮的文章id并且只影响每个按钮本身的东西
我希望这是有意义的,我是新的php和任何帮助,我应该如何做这将非常感谢
谢谢 如果您想在用户注销后仍使用会话,只需将登录活动存储在单独的表中即可。类似于用户ID和会话ID列。最后获取活动表的最后一行
快乐编码 我认为您的查询应该是为一个用户获取所有favid:
$query = mysql_query("SELECT favid FROM ajaxfavourites WHERE user=$user");
while($row = mysql_fetch_assoc($result)){
$allFavIds[] = $row['favid'];
}
现在使用$allFavIds数组,您可以检查每个按钮是否在该数组中存在其“favid”
<img id="button" class="faver fave0 tog" src="favscript/images/<?php echo in_array($individualFavId, $allFavIds) ? '1.jpg' : '0.jpg' ; ?>" onclick="" width="54" height="49">
“onclick=”“width=“54”height=“49”>
当然$individualFavId将被您的个人Favid取代
示例代码:
<img id="button" class="faver fave0 tog" src="favscript/images/<?php echo in_array(3, $allFavIds) ? '1.jpg' : '0.jpg' ; ?>" onclick="" width="54" height="49">
“onclick=”“width=“54”height=“49”>
用户刷新页面后会话是否被删除?
<img id="button" class="faver fave0 tog" src="favscript/images/<?php echo in_array(3, $allFavIds) ? '1.jpg' : '0.jpg' ; ?>" onclick="" width="54" height="49">