Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Salvat
10 / 10 / 7
Регистрация: 30.11.2015
Сообщений: 422
1

Корзина и SESSION

18.01.2017, 21:38. Просмотров 500. Ответов 2
Метки нет (Все метки)

Здравствуйте. Я реализую корзину таким образом, пользователь добавляет товар в корзину, запись происходит в базу данных. Пользователь всега должен иметь сессию с ид, токеном, логином да бы была возможность покупать. Мне необходимо, когда у пользователя истекает сессия, в базе данных изменять статус заказа, если его не купили. Делаю я так затем, чтобы если товар был корзине, его уже не видел другой покупатель.
Это как реализовано, а теперь вопросы.
Ве на сессии вешается?
Если на сессию повешаю, а не в запись в базу данных, то нужно же тоже понимать что пользователь разлогинился или время жизни сессии закончилось. Logout - это понятно, всю сессию разрушить. А как когда она умерла, чтобы проверялись все пользователи которые в данный момент авторизованы на наличие товара в корзине.
Думаю, тут всего одно условие, но какое? За ранее благодарю.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2017, 21:38
Ответы с готовыми решениями:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
session_start(); if (!isset($_SESSION)) $_SESSION=0; echo "вы обновили страницу ".$_SESSION++."...

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent
Открыл движок а точне файл index.php та начало кода <?php /** * Файл index.php расположен в...

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent
У меня на компе все ОК, но после загрузки на хост получаю предупреждения и нечего не работает ...

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent
Пытаюсь сделать корзину товаров, проблема с session_start выдает вот такую ошибку: Warning:...

Warning: session_start() [function.session-start]: Cannot send session cookie
Warning: session_start() : Cannot send session cookie - headers already sent by (output started at...

2
ProCode
34 / 34 / 6
Регистрация: 11.12.2016
Сообщений: 329
Записей в блоге: 6
19.01.2017, 13:10 2
Не совсем понял: как может другой покупатель корзину увидеть?

Сделать видимость корзины только для того айди, который внес в нее покупки (банально поле добавить к таблице). Тогда не придется морочиться с сессиями и видимостью вовсе.

Т.е. немножко переписать логику в правильное русло -)

Добавлено через 3 минуты
Т.е. условно говоря:

- корзина - это таблица, где есть поля айди товара и айди покупателя

- и когда показываем корзину юзеру - просто делаем выборку из таблицы по его айди

И всё

Ничего не надо завязывать на механику сессий

Или там анонимус тоже может добавить товар?
0
Salvat
10 / 10 / 7
Регистрация: 30.11.2015
Сообщений: 422
20.01.2017, 09:27  [ТС] 3
ProCode, Дело все в том, что как выше уточнили про таблицу, только у меня вместо нее статус ставится у товара, так все и делается. То есть, я могу себе закинуть вообще весь магазин и он будет висеть у меня пока админ не почистит таблицу или же статус не изменит в поле на 0. Два пользователя могут один товар держать в корзине если будет 1 единица если я сделаю на сессиях.
Мне нужно, как пользователя какого-то сессия закончилась или он вышел, все что у него было в корзине снова появлялось на ветрине.
А что Вы написали - это и так понятно и реализовано. Зацитировал что именно мне необходимо. Но повторный вход не подходит, так же через админку эти манипуляции производить тоже(очищать корзины пользователей), все должно быть на автомате. Даже если по крону очищать, записывать когда добавляли в корзину, тогда тоже не подходит. Т.к., а вдруг там человек еще бродит сутки или другие по магазину, товары собирает время от времени? (это пример с кроном) Тогда я через 3-4 часа просто опустошу что он насобирал,
0
20.01.2017, 09:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2017, 09:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Warning: session_start() [function.session-start]: Cannot send session cache
Привет. Сегодня решиль сделать у себя в сайте регистрацию она работает нормально все без проблем,...

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Ребят, я полный краб в php пока что ) При входе в админку вордпреса белый экран и Notice: Use of...

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
И опять я, не прошло и дня как я столкнулся с новой проблемой (старую решил сам, очень я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.