Я чувствую, что я нахожусь в своем уме, пытаясь выяснить проблему с переменными сеанса в процессе покупки, но здесь я попытаюсь найти помощь, чтобы решить эту проблему!
Когда пользователь получает цитату на моем сайте результатов, я устанавливаю несколько переменных сеанса, чтобы помочь на последних этапах процесса покупки. Один из них называется «номер сессии». Это относится к одному полю БД Id и помогает мне определить текущую цитату.
В верхней части каждой страницы процесса покупки у меня есть следующий код:
session_name("mywebsitesystem");
session_start();
На моей второй странице, странице сведений о клиенте, у меня есть некоторый код, который проверяет существование сеансовой переменной «sessionnumber». Он всегда существует, когда я делаю тестовые предложения, и пользователи могут покупать на нашем сайте. Но я получаю оповещение по электронной почте каждый раз, когда клиент переходит ко второй странице, и эта переменная сеанса пуста.
Мы получаем тревожно большое количество таких инцидентов в день. Первоначально я думал, что это пользователи, у которых не включены файлы cookie, но в электронном письме с предупреждением я отправляю цикл всех присутствующих переменных сеанса и всех файлов cookie.
Переменные сеанса не существуют, но файл cookie «mywebsitesystem» существует.
Я понятия не имею, как это возможно? Как установить этот файл cookie на странице результатов вместе с переменными сеанса, но когда они переходят на следующий этап, не существует ни одной переменной сеанса?
По крайней мере, может ли кто-нибудь предложить еще одну отладку, которую я могу попробовать, если не придумать решения? То, что я сам не могу продублировать эту проблему, так раздражает!
Может ли мой сервер что-то делать с этими сеансами — поэтому на компьютере существует файл cookie, но сервер не возвращает никакой информации для него?
ОБНОВЛЕНИЕ 1:
$conn = $db->pdoConnect();
$sql = "INSERT INTO sessions (DateTimeCreated) VALUES ('".date("Y/m/d H:i:s")."') ";
$stmt = $conn->query($sql);
$sessionnumber = $conn->lastInsertId();
$_SESSION['sessionnumber'] = $sessionnumber;
Задача ещё не решена.
Других решений пока нет …