Как отобразить кнопку авторизации если пользователь не авторизован, и убрать эту кнопку после того как он авторизовался?

пробовал что то такое, но не получается

Дополнительно:

aramby, ну так суть вопроса в том чтобы как это корректно сделать

  • aramby,

    PHP перестал выполняться и вывелась ссылка на "auth.php".

    И чо? Есть более интересное решение?

    Danya_Podolskij

    но не получается

    Так в чем проблема? Что не получается? Что выводит, что не выводит, какие ошибки?

  • ThunderCat, cайт работает, когда авторизируюсь не выводит имя пользователя, честно уже задолбался гуглить, норм ответа найти не могу никак)
  • ThunderCat, грубо говоря у меня тупо по кд кнопка логина висит и все
  • aramby, а как же тогда правильно будет написать, не подскажете?)))
    просто я то попробовал сразу не закрывать но вышло очередное фиаско
  • и может сможете показать вообще другой способ реализации этого момента, более правильный так скажем
  • Danya_Podolskij,

  • aramby, Ошибаетесь. Поправляю: Прежде чем что-либо непонятное/неизвестное поправлять, надо проверить является ли это рабочим кодом, или ошибка автора, особенно если вы пока не очень разбираетесь в теме (иначе будете выглядеть глупо). В данном случае это рабочий, и более того - рекомендуемый код. Так работает пхп - разрыв тегов интерпретируется как вывод "as is". После встречи следующего открывающего пхп тега выполнение кода продолжается.
  • aramby, попробовал, чутка подправил где ссылка на logout написал выход, но все так же отображается лишь кнопка логина
  • ThunderCat, а в чем же тогда проблема не подскажете?)
  • Ответы:

    когда авторизируюсь не выводит имя пользователя, честно уже задолбался гуглить, норм ответа найти не могу никак) грубо говоря у меня тупо по кд кнопка логина висит и все

    Что делать в таких случаях? Во первых - сделать var_dump($_SESSION) и посмотреть что там лежит. Подозреваю что нужных ключей в этом массиве нет (или же они не там где вы их ищете, ну или называются иначе). Так же, неизвестно как вы делаете логин, и что при этом попадает в сессию (кстати - зачем хранить пароль в сессии - отдельная загадка). Рекомендую провернуть ту же операцию - проверить что в сессии после логина, ну и в коде логина убедиться что туда добавляются эти ключи.

    • но еще один нюанс у меня мой редактор ругается на скобку(выделил жирным) } else { ?>
    • то есть вот для полной картины

      Как отобразить кнопку авторизации если пользователь не авторизован, и убрать эту кнопку после того как он авторизовался?

    • Danya_Podolskij, проблемы индейцев. Если бы проблема была в расставленных скобках, интерпретатор выдал бы ошибку. Не занимайтесь гаданием, занимайтесь отладкой.

      то есть вот для полной картины

      Зависит от редактора. не все редакторы хорошо понимают синтаксис, можно докопаться до несоблюдения PSR, скобка после иф должна быть на следующей строке, но скорее всего просто кривой парсер IDE.

    • Danya_Podolskij, Единственно что у вас код тут не полностью, а только кусок. Возможно выше есть открытая и не закрытая скобка. Проверьте код выше приведенного блока.
    • session_start(); пробовали?
    • v3shin, конечно, у меня все работает если я не использую это условие,в плане отображается имя моего авторизованного пользователя, при выходе посмотрел через вар дамп все сбрасывается как надо. Но вот когда пытаюсь сделать так как я хочу используя условие все летит к чертям в плане чекнул так же через вар дамп когда авторизируюсь все передается но все что я указал в условии не отображается.
    • Все вопрос закрыт, всем спасибо за участие, действительно напутал с ключами, то есть они у меня были но прописал я их неверно)))

      вот так все работает

     

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

      • Как отобразить кнопку авторизации если пользователь не авторизован, и убрать эту кнопку после того как он авторизовался?Есть ответ
      • 09.04.2024
      Ответить

      Для отображения кнопки авторизации, если пользователь не авторизован, и скрытия этой кнопки после того, как он авторизовался, можно использовать следующий подход:

      1. Создайте кнопку авторизации в HTML с помощью тега и добавьте ей уникальный идентификатор, например, id="loginButton".

      2. В PHP определите условие, которое будет проверять, авторизован ли пользователь. Если пользователь авторизован, выведите кнопку авторизации с помощью PHP кода, например:

      html
      <?php
      if ($isUserLoggedIn) {
      echo '';
      }
      ?>

      3. Добавьте скрипт JavaScript, который будет обрабатывать нажатие на кнопку авторизации. При нажатии на кнопку, скрипт должен отправить запрос на сервер для авторизации пользователя и скрыть кнопку после успешной авторизации. Пример скрипта:

      html

      document.getElementById('loginButton').addEventListener('click', function() {
      // Отправить запрос на сервер для авторизации пользователя
      // После успешной авторизации скрыть кнопку
      document.getElementById('loginButton').style.display = 'none';
      });

      4. При успешной авторизации на сервере установите переменную $isUserLoggedIn в значение true, чтобы кнопка авторизации больше не отображалась.

      Таким образом, при открытии страницы пользователь увидит кнопку авторизации, которую можно нажать для авторизации. После успешной авторизации кнопка авторизации будет скрыта, и пользователь не сможет видеть ее снова.

      • Как отобразить кнопку авторизации если пользователь не авторизован, и убрать эту кнопку после того как он авторизовался?Есть ответ
      • 07.04.2024
      Ответить

      Для отображения кнопки авторизации, если пользователь не авторизован, и скрытия этой кнопки после авторизации, можно использовать следующий подход.

      Для начала, вам нужно создать два разных блока HTML: один для кнопки авторизации, и второй для контента, который будет отображаться после авторизации.

      Пример HTML кода:

      Далее, вам нужно написать функцию login(), которая будет вызываться при нажатии на кнопку авторизации. В этой функции вы можете выполнить процесс авторизации (например, отправить AJAX запрос на сервер для проверки логина и пароля), и после успешной авторизации скрыть блок с кнопкой авторизации и показать блок с контентом для авторизованных пользователей.

      Пример JavaScript кода:

      Таким образом, при загрузке страницы будет отображаться кнопка авторизации. После нажатия на кнопку произойдет авторизация пользователя, и кнопка авторизации будет скрыта, а вместо нее будет отображаться контент для авторизованных пользователей.

      Надеюсь, данное решение поможет вам реализовать функционал авторизации на вашем сайте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

    Оставить комментарий