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

Shad-777

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

NewUsers

  • Живу я здесь
  • 2052
  • 188 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Тогда уже лучше использовать LocalStorage
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Shad-777

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

sivers

  • Завсегдатай
  • 1732
  • 239 / 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 символов текста и не храните ничего лишнего у себя.
На связи в телеге @sivers
https://sivers.su/
*

sivers

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

Shad-777

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

dm-krv

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

Возможность изменить очередность шагов заказа

Автор avantyrist

Ответов: 19
Просмотров: 1194
Последний ответ 01.04.2021, 14:33:56
от nevigen
Есть ли модуль регистрации для JoomShopping

Автор shop-user

Ответов: 4
Просмотров: 203
Последний ответ 24.03.2021, 22:41:07
от v42bis
Ошибка при регистрации или редактировании профиля

Автор timofe

Ответов: 3
Просмотров: 157
Последний ответ 17.03.2021, 00:03:06
от timofe
Отдельные поля для покупки без регистрации

Автор Kokshetau

Ответов: 19
Просмотров: 315
Последний ответ 17.02.2021, 09:31:20
от nevigen
Прямая ссылка на офрмление заказа?

Автор warlocksp

Ответов: 7
Просмотров: 197
Последний ответ 28.12.2020, 17:46:20
от kit2m2