Почему мои куки не удаляются полностью (% 5B% 5D)? - PullRequest
0 голосов
/ 13 июня 2019

Я создал сайт, где люди могут добавлять и удалять из своего списка избранного, используя куки.

Кнопки работают просто отлично, но почему-то я не могу полностью удалить куки, используя кнопку удаления.

14B всегда остается на сервере со значением% 5B% 5D. Первый cookie, который я добавляю, имеет размер до 47B (+ 33B), следующие всегда добавляют 36B.

Моя проблема в том, что я пытаюсь показать тизеры своих продуктов на главной странице. Если что-то было забронировано, оно показывает 2 из этих продуктов .. если еще ничего не было забронировано, он показывает 2 случайных продукта из базы данных. В этом случае, если я удаляю то, что у меня есть в списке закладок, на нем должны отображаться случайные продукты, но это не приводит к полному освобождению файла cookie.

Может кто-нибудь сказать мне, откуда взялись 14B остатка Cookie?

<?php
if(isset($_POST["add_to_bookmark"]))
{if(isset($_COOKIE["bookmark"]))
	{// Adds to bookmark
		//strip slashes so cookie can be read
		$cookie_data = stripslashes($_COOKIE['bookmark']);
		//transform cookie data into readable JSON and create an array
		$bookmark_data = json_decode($cookie_data, true);
    //will decode JSON string and store under this variable
		//array_column(json_decode(stripslashes($_COOKIE['bookmark']), true), 'property_id');
	}
	else
	{
		//if Cookie didnt exist create a new empty array
		$bookmark_data = array();
	}

	//returns ID Values of Array bookmarkdata and stores into propertyIDlist
	$property_id_list = array_column($bookmark_data, 'property_id');
	//checks if the property has already been bookmarked
	if(in_array($_POST["hidden_id"], $property_id_list))
	 {
	  foreach($bookmark_data as $keys => $values)
	  {
	   if($bookmark_data[$keys]["property_id"] == $_POST["hidden_id"])
	   {
			unset($bookmark_data[$keys]);//destroy the key's array
	   }
	  }
	 }
  else{

		$property_array = array(
			'property_id'			=>	$_POST["hidden_id"],
		);

		$bookmark_data[] = $property_array;
			}

	$property_data = json_encode($bookmark_data);
	setcookie('bookmark', $property_data, time() + 3600 * 24 * 365, "/");

	header('Location: '.$_SERVER['PHP_SELF']);
	die;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...