Такой вопрос у меня есть страница профиля на которой проверяется авторизован ли пользователь, если нет, то средствами js выполняется переадресация пользователя на страницу входа (example.ru/login.php?act=nologin). Там передаётся get переменная со значением 'nologin'. А на странице входа проверяется PHP: If( isset($_get['act'])) { Echo 'вы не авторизованы'; } Но проблема в том, что если просто пользователь введет в строке login.php?act=nologin, то пользователь увидит это сообщение (и это понятно), но мне надо, чтобы данное сообщение выводилось только в том случае, если он был переадресован
Понимаете нельзя сделать редирект если хотя бы 1 символ отправлен, а мне нужно обязательно отправить перед вызовом этой функции. Меня интересует другая сторона вопроса, как правильно получить это на странице входа
@eanautt А потому что ты юзеру это позволяешь делать так как ты используешь GET параметр. а почему ты проверяешь GET параметр, при проверке пользователя? Если надо проверять, то лучше проверь $_SESSION ну или $_COOKIE. PHP: //если в сессии нет id юзера выкидываем его на страницу if (!isset($_SESSION['id'])){ header ('location: example.ru/login.php?act=nologin'); } else {//иначе разрешаем просмотр содержимого //тут содержимое что вы скрываете для не авторизованных } ну или можно так сделать: PHP: //тоже самое что и выше !isset($_SESSION['id']) ? переадресация : содержимое; Покажи нам свой JS как он редиректит, может кто ответит по другому.
PHP: login.php?act=nologin&redirect=1 if(isset($_GET['redirect']) && $_GET['redirect'] == true) { // Вывод сообщения } else { // Любые другие дела }