PHP: <?php if (isset($_SESSION['uid'])){ echo 'Добро пожаловать'." ".$_SESSION['first_name']." ".'<a href="exit.php">Выйти</a>'; }else{ $r.='<strong><a href="auth.php">Авторизация</a></strong></p>'; } print $r;?> Вот вроде бы простейший код, в котором если юзер авторизирован должен видеть "Добро пожаловать и т.д", а если нет то должен видеть кнопку авторизация. А у меня получается всегда видно "Добро пожаловать", а если я выхожу то просто переменная "firstname" пропадает, это единственное отличие, помогите пожалуйста, заранее спасибо за ответы.
отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
Включите вывод все ошибок. Всегда надо смотреть что приходит в переменную! var_dump($_SESSION['uid']); P.S. Возможно функция session_start() не была объявлена.
там пусто, дополнительно isset можно добавить empty($_SESSION['uid']) PHP: if( isset($_SESSION['uid']) && empty($_SESSION['uid']) === false )
Это значит что функция isset проверяет на существование переменной. А как вы видите переменная существует и имеет тип данных string.
В общем я нашел проблему, переменная uid почему-то не сохраняется в сессию, вместо нее вставил first_name заработало, но теперь вопрос почему uid не сохранился? а first_name сохранился, хотя там идентичный код. Пойду изучать куки, мне поможет это в решение данного вопроса?
session_start() точно есть? --- Добавлено --- сделай поиск по всему проекту $_SESSION['uid'] и $_SESSION["uid"], может где-то очищается