0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 1167 Просмотров
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Появилась необходимость сохранять данные клиента в браузере для самого клиента (то есть куками) после оформления заказа и без регистрации. То есть чтобы клиент оформил заказ, через неделю вернулся на сайт, оформил новый, а при оформлении все его данные уже были подставлены в форму оформления заказа и оставалось только нажать на кнопку. Сейчас это работает только в том случае, если с прошлого посещения сайта клиент не закрывал браузер. После закрытия браузера эти куки удаляются. Кто-нибудь знает способ как продлить срок жизни нужных cookie?
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Тогда уже лучше использовать LocalStorage
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Просто из коробки куки ) Этот механизм не я делал, он был заложен разработчикам. Хочется просто продлить время жизни существующих кук.
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Кто-нибудь знает способ как продлить срок жизни нужных cookie?
Достаточно хранить одну куку с зашифрованным ИДом последнего заказа (для исключения перебора ИДов).
Время жизни куки задается 3-м параметром команды setcookie:
https://www.php.net/setcookie
При этом указывается конкретная дата/время, когда кука должна закончиться, например:
Код
$hash = sha1($order->id.':'.microtime(1));
setcookie('last_order', $hash, time()+30*24*60*60, '/');
Сперва шифруется ИД заказа (эту строку надо и в сам заказ сохранить, чтоб потом найти его). И его же пишете в куку, которая будет жить 30 суток и будет доступна с любой страницы сайта (четвертый параметр).
Когда юзер зайдет снова - проверяете у него существование этой куки, если найдена - вытаскиваете его последний заказ и из него берете данные, которые ввел тогда.
Когда создаст новый заказ - обновляете куку.
В итоге вы у юзера храните всего 40 символов текста и не храните ничего лишнего у себя.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Хочется просто продлить время жизни существующих кук.
Скорее всего это кука для хранения сессии. Она автоматически увеличится, если продлить время жизни сессий. Но лучше так не делать - может резко вырасти объем таблицы сессий в БД (или на диске - смотря где храните) и считается, что это небезопасно.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Понял, большое спасибо, дальше разберусь )
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Я бы вообще не стал в куках хранить заказы, мало того что у них всегда есть срок, так еще и различные (антивирусы / ускорители ПК / блокировщики рекламы) любят их чистить, как по поводу, так и без. Лучший вариант, в наш век передовых технологий, это встроенная база IndexedDB. Можно хранить что угодно: блобы, файлы, объекты, строки и много-чего другого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать файлы для продажи доступными для скачивания при любом статусе заказа?

Автор UNh0ly

Ответов: 4
Просмотров: 1711
Последний ответ 18.09.2023, 09:10:17
от ИммоБокс
Nevigen: Переадресация регистрации и авторизации на JoomShopping

Автор Satool

Ответов: 5
Просмотров: 759
Последний ответ 19.07.2023, 14:21:48
от nevigen
JoomShopping умер после обновления

Автор Alex_gs

Ответов: 3
Просмотров: 556
Последний ответ 08.05.2023, 15:02:11
от Akeksandr
Скидка без регистрации

Автор Simply

Ответов: 5
Просмотров: 558
Последний ответ 04.04.2023, 23:52:47
от Simply
Глюк со сменой статуса заказа

Автор Preview

Ответов: 4
Просмотров: 392
Последний ответ 07.02.2023, 16:06:38
от kit2m2