2
我目前正試圖設置一個cookie,當用戶登錄時cookie的值被PHP有效覆蓋,但它只是創建一個單獨的cookie,這裏是我設置cookie值PHP可以設置cookie功能,覆蓋用JQuery cookie創建的cookie值
<?php
include("db_connect.php");
$input_game = $_POST['game'];
$input_user = $_POST['email'];
$sql = "UPDATE users_table SET Pref_Game = '" . $input_game . "' WHERE Email='" . $input_user . "'";
if ($conn->query($sql) === TRUE) {
$cookie_name2 = "content";
$sql="SELECT Pref_Game FROM users_table WHERE Email='$input_user'";
$result = $conn->query($sql);
$row = $result->fetch_object();
setcookie($cookie_name2,$row->Pref_Game, time() + (86400 * 30), "/"); // 86400 = 1 day
} else {
//Error
}
?>
下面的代碼片段只是爲了清楚起見,JQuery的餅乾代碼:
$("#test-cookie").click(function() {
$.cookie('content', 'test');
location.reload();
});
反正是有PHP可以更新/覆蓋由創建的cookie值JQuery的?
PHP將覆蓋jQuery的餅乾,如果它具有完全相同的名稱,路徑和域。 jQuery cookie的寫入路徑是什麼?在您的瀏覽器開發控制檯中查看它。如果它設置在目錄中,則可能需要使用類似'$ .cookie('name','value',{expires:7,path:'/'});'將其設置爲'/ '正如PHP cookie所做的那樣。 https://github.com/carhartl/jquery-cookie –
這很重要,所以我必須指出,這個代碼很容易受到當前形式的SQL注入的影響,其中'$ input_user,$ input_game'被傳遞到查詢中。這可以通過使用'prepare()/ bind_param()/ execute()'獲益。有關示例,請參見[如何防止PHP中的SQL注入](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。 –
@MichaelBerkowski只是提醒您可以在新的repo網址中找到最新版本:https://github.com/js-cookie/js-cookie/tree/v1.5.1 –