簡體   English   中英

使用PHP從Cookie刪除值

[英]Delete a value from cookie with php

我將產品ID-S存儲在PHP的Cookie中。 (這些是網上商店中最受歡迎的產品。)

我添加了許多產品作為收藏夾,因此我的Cookie看起來像:12,55,120,43

我知道, $_COOKIE[$cookie_name]不是數組。 (通過is_array函數檢查)

如何從該Cookie中刪除產品ID? 我將要使用ajax刪除的ID發送到此php文件:

    if(isset($_POST['id']))
{
    $id = intval($_POST['id']);

    $cookie_name = "kedvenc_termek";
    if(isset($_COOKIE[$cookie_name]))
    {
        echo $_COOKIE[$cookie_name];
    }

}

這應該刪除或使cookie無效

// set the expiration date to one hour ago

setcookie($cookie_name, " ", time() - 3600);
?>

取消設置您的Cookie:

unset($_COOKIE[$cookie_name]);

將您的Cookie設置為null:

setcookie($cookie_name, null, -1, '/');

如果我了解您的要求,您在cookie中存儲了一個字符串,例如12,55,120,43並且您想使用$_POST['id']刪除其中之一? 因為它是一個字符串,所以我認為最好的選擇是preg_replace(),它比str_replace更具優勢,您可以創建一個刪除模式。

$id = $_POST['id'];
$cookie_name = "kedvenc_termek";
$_COOKIE[$cookie_name] = preg_replace("/\b(" . preg_quote($id) . ",)\b/", "", $_COOKIE[$cookie_name]);
echo $_COOKIE[$cookie_name];

如果要將新字符串存儲在cookie中,請務必在回顯該值之前執行此操作,因為在輸出后無法設置cookie。

示例: https//3v4l.org/RQH4o

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM