Если файл не пустой на сервере - значит и сессия не пустая. Просто ее надо стартануть ДО первого к ней обращения.
@r67wru тебе русским языком ответили: https://php.ru/forum/threads/problema-s-sessijami.70274/#post-566697
@r67wru, все шаги надо выполнять последовательно, чтобы устранить ошибку. Сначала дописать session_start() там где ее нет и проверить работу. А только потом удалять там где она была. И думать, в каком месте скрипта стоит стартовать сессию, чтобы не было нотисов. Есть вот такая конструкция: PHP: if (session_id() == "") session_start(); чтобы в логах не сыпались ошибки при многократных попытках стартовать сессию
Пробовали такой вариант: PHP: session_start(); var_dump($_SESSION['shop']); print_r($_SESSION); какой результат?
@r67wru, стоит почитать статью которую дал @Maputo, вникнуть потом пересмотреть свой код, и должно получиться. Думаю на все это максимум потратите минут 30. А если дальше продолжать в том же духе, дело затянется).
Куда пропадает? Сессия по умолчанию это файл на сервере. Все что тебя связывает с этим файлом это запись в куках. Когда ты стартуешь сессию тебе в куки записывают sessid но что б это произошло стартовать сессию ты должен до вывода любого текста так как кука передается в заголовке. Когда ты повторно делаешь запрос на сервер он приходит уже с кукой и когда ты стартуешь сессию по этой куке ищется твой файл. Что здесь сложного?
здесь записывается сессия, как я понял с этим проблем нету, а можно файл, где вы пытаетесь проучить сессионные данные?
Так вот, пропишите в этом файле на самом верху session_start(); Я понимаю там вы писали, что она стартуется в session_tovar, но все же пропишите в cart.php --- Добавлено --- И еще, не ответили на вопрос, вывод ошибок включен?
Ты каждый раз удаляешь файлы? Или чистишь куки? Не может она быть пустой. Может она просто не твоя? Что у тебя в куках? Ты создал сессию. Она пустая. Ты добавляешь товар в корзину перезагружаешь страницу и тебе показывают результат
session_tovar.php - там создается сессия (вывод его в модальном окне) (сессия записалась) после перенаправления на страницу карт сессия пустая
Сложно с тобой Я вообще не понимаю что такое вывод в модальном окне. Модальное окно это скрытый кусок html кода который появляется при наступлении какого то события. Это не начало файла. Не можешь ты стартовать сессию где захочешь. Только в самом начале. PHP: error_reporting(E_ALL); ini_set('display_errors', 1);
@r67wru Давай попробуем копнуть глубже что означает твоё "сессии нет". Сессия живет за счёт сессионной куки. Обычно эта кука имеет имя PHPSESSID. Поищи её в Web Developer своего браузера. --- Добавлено --- Имя PHPSESSID, а значение должно быть одно и то же при переходе со страницы на страницу в пределах твоего сайта. Это необходимое условие. Проверь как у тебя там дела с кукой.
при создание сессии файл пишется. а при переходе на страницу cart.php получается стартует другая сессия и пустая
@r67wru Ты можешь сделать буквально то, о чём я тебя попросил? Есть такое чувство, что я трачу время на безнадегу. --- Добавлено --- Выясни что происходит с сессионной кукой. Есть ли она? Если есть, то сохраняет ли она значение при переходах?