Автор Тема: Как сделать вывод логина в меню?  (Прочитано 1175 раз)

0 Пользователей и 1 Гость просматривают эту тему.

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Добрый день!

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

После авторизации есть две кнопки "Кабинет" и "Выход из игры". Хочу чтобы вместо надписи "Кабинет" отображался логин.

Я прописал в /inc/_menu_top.php два варианта вывода логина (<?=$_SESSION["user"]; ?> и <?=$prof_data["user"]; ?>), но какой из них правильный я понятия не имею. Также они не выводят логин и за место надписи "Кабинет" на кнопке ничего нет (пустота).

Далее, подумал и прописал в файле меню вот такую штуку, но все равно результата нет(

$user_id = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$user_id'");
$prof_data = $db->FetchArray();
 

whoohaw

  • *
  • Оффлайн
  • Награды Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Более 4 лет на форуме !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 33
  • Сообщений: 319
  • Страна: ru
  • Поблагодарили: 25 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:1988-09-21
    • Награды
  • Социальные сети:
    ВКонтакте
Как сделать вывод логина в меню?
« Ответ #1 : 09 Июля 2021, 01:23:06 »
у тебя при авторизации заводятся 2 глобальные переменные (минимум 2)
$_SESSION["user_id"] и $_SESSION["user"]
проверь, так ли это? Файл авторизации проверяет наличие логина в базе и сверяет пароль, схож ли он, в случае успеха должна заполняться эти переменные и тогда вывод имени пользователя будет работать. Ошибка, скорее всего там, если $_SESSION["user"] тебе не помог.
 

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Как сделать вывод логина в меню?
« Ответ #2 : 09 Июля 2021, 14:14:16 »
у тебя при авторизации заводятся 2 глобальные переменные (минимум 2)
$_SESSION["user_id"] и $_SESSION["user"]
проверь, так ли это? Файл авторизации проверяет наличие логина в базе и сверяет пароль, схож ли он, в случае успеха должна заполняться эти переменные и тогда вывод имени пользователя будет работать. Ошибка, скорее всего там, если $_SESSION["user"] тебе не помог.

В файле авторизации вот такое:
$_SESSION["user_id"] = $log_data["id"];
$_SESSION["user"] = $log_data["user"];

Вот что еще я сделал я в файле меню и по крайней мере меню выводится.
Но, может именно из-за этого кода не работает вывод логина:
<?PHP
$user_id = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$user_id'");
$prof_data = $db->FetchArray();

if(isset($_SESSION["user_id"])){

    echo '
                <a href="/" class="link">ГЛАВНАЯ[/url]
            <a href="/account" id="blink-2"><?=$_SESSION["user_id"]; ?> или <?=$prof_data["user_id"]; ?>[/url]
            <a href="/account/exit" class="link">ВЫХОД[/url]
}else {

}

?>
 

whoohaw

  • *
  • Оффлайн
  • Награды Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Более 4 лет на форуме !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 33
  • Сообщений: 319
  • Страна: ru
  • Поблагодарили: 25 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:1988-09-21
    • Награды
  • Социальные сети:
    ВКонтакте
Как сделать вывод логина в меню?
« Ответ #3 : 09 Июля 2021, 15:42:50 »
Ты выводишь в блоке PHP код через echo, при этом не соблюдая правила синтаксиса. + еще и не закрыта кавычка и нет точки с запятой в конце. Там не то что ничего не выведет - там и ошибка будет фатальная.
<?PHP
$user_id = $_SESSION["user_id"];
$db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$user_id'");
$prof_data = $db->FetchArray();

if(isset($_SESSION["user_id"])){

    echo '
                <a href="/" class="link">ГЛАВНАЯ[/url]
            <a href="/account" id="blink-2"><?=$_SESSION["user_id"]; ?> или <?=$prof_data["user_id"]; ?>[/url]
            <a href="/account/exit" class="link">ВЫХОД[/url]
}else {

}

?>

Конкретнее - этот кусок
<?=$_SESSION["user_id"]; ?>

При выводе переменной из PHP в html, последний требует включения в своем коде блока <? и ?>, что говорит о том, что сейчас там будет переменная PHP.

Ты же сейчас выводишь уже в PHP. Тебе требуется изменить этот кусочек кода, закрыв кавычки, вставив туда переменную и снова открыв их, для продолжения вывода информации. Выглядеть будет так:

...
echo '
                <a href="/" class="link">ГЛАВНАЯ[/url]
            <a href="/account" id="blink-2">' . $_SESSION["user_id"] . ' или ' . $prof_data["user_id"] . '[/url]
            <a href="/account/exit" class="link">ВЫХОД[/url]
';
...
 

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Как сделать вывод логина в меню?
« Ответ #4 : 09 Июля 2021, 16:15:13 »
Ты выводишь в блоке PHP код через echo, при этом не соблюдая правила синтаксиса. + еще и не закрыта кавычка и нет точки с запятой в конце. Там не то что ничего не выведет - там и ошибка будет фатальная.

Точно, посмотрел, а там ошибка, но вроде вчера работало - странно. Видимо что-то сегодня намудрил(.Поставил точку с запятой и меню заработало. Спасибо.
Даже представления не имел, что нужно кусок кода немного по-другому немного прописывать. Открыл даже интернет и читал вывод переменных не знаю то или нет, но ничего даже похожего не увидел. Теперь буду знать и надеюсь справлюсь если что-то похожее будет.
Прописал вот такой код ' . $_SESSION["user"] . ' теперь логин появился и следовательно все заработало - просто супер.

Спасибо огромное за помощь!
 

Sogan

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 6 лет на форуме !!!
  • Дата регистрации: Фев. 2016
  • Сообщений: 213
  • Страна: at
  • Поблагодарили: 27 раз(а)
  • Репутация +4/-0
  • Пол: Мужской
    • Награды
Как сделать вывод логина в меню?
« Ответ #5 : 17 Июля 2021, 16:08:25 »
Ну ладно это все понятно ))
А как вывести чужой логин в свое меню, например ну админа ??
a:0:{}
 

whoohaw

  • *
  • Оффлайн
  • Награды Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Более 4 лет на форуме !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 33
  • Сообщений: 319
  • Страна: ru
  • Поблагодарили: 25 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:1988-09-21
    • Награды
  • Социальные сети:
    ВКонтакте
Как сделать вывод логина в меню?
« Ответ #6 : 17 Июля 2021, 17:29:59 »
Зачем администратору фф выводить свой логин в меню у остальных пользователей? ))
А если речь идет о возможной уязвимости, чтобы пользователь мог вывести это инфо самостоятельно у себя, то - искать дыры на проекте )
Об уязвимостях не консультирую, закрыть - закрою )
 

Sogan

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 6 лет на форуме !!!
  • Дата регистрации: Фев. 2016
  • Сообщений: 213
  • Страна: at
  • Поблагодарили: 27 раз(а)
  • Репутация +4/-0
  • Пол: Мужской
    • Награды
Как сделать вывод логина в меню?
« Ответ #7 : 18 Июля 2021, 12:47:13 »
Да о какой уязвимости ))
я из фермы кассу взаимопомощи сооружаю, мне нужно чтобы при нажатии на логин админа, выходило на его профиль, а в профиле у его было видно какой доход о рефералов. Это нужно для того чтобы участник ориентировался сколько осталось до приза.. Допустим накопительный приз 100 рублей, а у админа накопилось 75,, мне нужно чтобы участник знал сколько накопилось у админа. Ну или сразу на моеей страничке выводился доход от рефов админа.
 

whoohaw

  • *
  • Оффлайн
  • Награды Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Более 4 лет на форуме !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 33
  • Сообщений: 319
  • Страна: ru
  • Поблагодарили: 25 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:1988-09-21
    • Награды
  • Социальные сети:
    ВКонтакте
Как сделать вывод логина в меню?
« Ответ #8 : 18 Июля 2021, 13:55:10 »
Вот что значит "правильно поставленный вопрос" ) Это уже другая история, не по этой теме.

PS: Если ты тянешь инфо о реферере, то у тебя же есть его id  в базе? Вытягивай массив со значениями и выводи )
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 1750 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 30
  • Сообщений: 1989
  • Страна: ru
  • Поблагодарили: 235 раз(а)
  • Репутация +39/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Как сделать вывод логина в меню?
« Ответ #9 : 18 Июля 2021, 14:49:07 »
Да о какой уязвимости ))
я из фермы кассу взаимопомощи сооружаю, мне нужно чтобы при нажатии на логин админа, выходило на его профиль, а в профиле у его было видно какой доход о рефералов. Это нужно для того чтобы участник ориентировался сколько осталось до приза.. Допустим накопительный приз 100 рублей, а у админа накопилось 75,, мне нужно чтобы участник знал сколько накопилось у админа. Ну или сразу на моеей страничке выводился доход от рефов админа.
найди и глянь модуль стена пользователей, там кажется есть то что тебе  нужно

 
Теги: