Класс Cookie с использованием сессий

Класс Cookie с использованием сессий

Преимущество: снижение размера заголовков сервера, устарнение ошибки «502 Bad Gateway»

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

В файле classes/Cookie.php заменяем

if (PHP_VERSION_ID <= 50200)
	return setcookie($this->_name, $content, $time, $this->_path, $this->_domain, 0);
else
	return setcookie($this->_name, $content, $time, $this->_path, $this->_domain, 0, true);

на

$_SESSION['cookie'][$this->_name]=$content;
return true;

Для старта сессии в начале функции construct после

public function __construct($name, $path = '', $expire = NULL)
{

добавляем

session_start();

Все вхождения

$_COOKIE

заменяем на

$_SESSION['cookie']

Обсуждение

malyr, 2011/08/21 14:16

в версии 1.4 не работает. Надо заменять на просто $_SESSION без квадратных скобочек

EugeneC, 2011/09/22 19:37

Сделал как указано, заменил на $_SESSION без [] (v 1.4.4.1) и теперь админка не принимает юзера. Ваши советы?

Андрей Борисов, 2012/03/08 01:14

Меняйте так как написано:

Найти $_COOKIE Заменить на $_SESSION['cookie']

тогда будет работать :-)

Дмитрий, 2012/04/06 13:22

Спасибо отличное решение. Спасает от нерадивых хостеров.

Андрей, 2012/04/30 12:25

Вот спасибо! Хостеры вообще охренели

Николай, 2012/05/08 00:11

Благодарочка! Все работает по престой 1.3.7.0

Александр, 2017/10/17 11:28

сайт стал внезапно выдавать ошибку 502

версия престы 1.6

после описанных манипуляций сайт заработал!!! спасибо!

Ваш комментарий. вики-синтаксис разрешён:
HMUYM
 
ustranenie-oshibok/cookie-s-ispolzovaniem-sessij.txt · Последние изменения: 2015/12/27 16:22 (внешнее изменение)