刷新或註銷後,我在保持某些圖像按鈕的狀態時出現問題。我在頁面上的每篇文章上都有一個最喜歡的按鈕,用戶可以點擊收藏該按鈕。我用下面的jQuery功能後的唯一ID發送到MySQL表:php - 刷新後如何保持圖像按鈕狀態
$('.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 ?>);
}
});
});
然後在recieving PHP文件我得到的會話變量是這樣的:
session_start();
if(isset($_SESSION['id']) AND isset($_POST['favourite'])){
$user = mysql_real_escape_string($_SESSION['id']);
$_SESSION['favourite'] = $_POST['favourite'];
$favid = mysql_real_escape_string($_SESSION['favourite']);
,然後我值插入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");
}
}
現在所有上述工作,但我的問題是,我似乎無法想出一個辦法爲每個按鈕記住它的狀態,一旦用戶刷新或L ogs出來。如果我將$ 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和任何幫助,我應該這樣做將不勝感激。
謝謝。
會議後得到用戶刷新網頁上刪除了? – Thamaraiselvam