Я создаю веб-приложение для iOS.
При тестировании с иконки на главном экране в полноэкранном режиме я не смог пройти мимо экрана входа в систему, несмотря на то, что он отлично работал в iPhone Safari.
Я понял, что это связано с тем, что переменная сеанса недоступна, когда она должна быть.
Очень кратко … при загрузке страницы форма входа в систему генерирует хэш-номер, такой как ключ, и хранится в скрытом поле, а также в качестве переменной сеанса.
Когда форма обрабатывается, скрытое поле, содержащее ключ, затем проверяется по переменной сеанса, как часть проверки (в качестве простой меры безопасности), однако переменная сеанса недоступна для сценария php проверки и поэтому выдает ошибка.
Я использую следующий код в верхней части каждой страницы, так как я прочитал, что это помогает поддерживать сеанс.
session_start();
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);
Почему эта переменная сеанса может быть недоступна?
Задача ещё не решена.
Других решений пока нет …