У меня есть код PHP для проверки состояния входа пользователя, который проверяет, установлены ли переменные сеанса или установлены файлы cookie. Если какое-либо из условий истинно, тогда это большое разрешение иначе перенаправляется на страницу входа. Код выглядит следующим образом:isset и if function in php with or operator
if(isset($_SESSION["userid"]) || isset($_COOKIE["userid"]) && isset($_SESSION["username"]) || isset($_COOKIE["username"]) && isset($_SESSION["password"]) || isset($_COOKIE["password"])){
} else {
header("location : register.php");
}
Проблема заключается в том, что если сессия разрушаться (путем закрытия браузера или какой-либо другой причине) он перенаправляет пользователя на страницу входа в систему. Но то, что он должен делать, это считывать данные cookie и предоставлять пользователю доступ, поскольку файлы cookie все еще присутствуют (я проверял, что файлы cookie все еще присутствуют в данных echo cookie).
'если ((Исеть ($ _ SESSION [ "UserID"]) && Исеть ($ _SESSION ["username"]) && isset ($ _ SESSION ["password"])) || (isset ($ _ COOKIE ["userid"]) && isset ($ _ COOKIE ["username"]) && isset ($ _ COOKIE ["password"]))) { } else { header ("location: register.php"); } ' –
Когда вы публикуете этот код, можете ли вы предоставить мне ссылку? Я попробую что-нибудь. –
Я серьезно рекомендую вам узнать больше о ООП или использовать фреймворк вроде Slim или Silex. http://www.phptherightway.com/ – Lucas