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

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

nikogdaАвтор темы

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

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам Более 150 сообщений
  • Дата регистрации: Июль 2016
  • Сообщений: 199
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +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">ГЛАВНАЯ</a>
            <a href="/account" id="blink-2"><?=$_SESSION["user_id"]; ?> или <?=$prof_data["user_id"]; ?></a>
            <a href="/account/exit" class="link">ВЫХОД</a>
}else {

}

?>
 

whoohaw

  • *
  • Оффлайн
  • Награды Более 250 сообщений Репутация более 15 Три года на форуме !!! За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 33
  • Сообщений: 282
  • Страна: ru
  • Поблагодарили: 21 раз(а)
  • Репутация +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">ГЛАВНАЯ</a>
            <a href="/account" id="blink-2"><?=$_SESSION["user_id"]; ?> или <?=$prof_data["user_id"]; ?></a>
            <a href="/account/exit" class="link">ВЫХОД</a>
}else {

}

?>

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

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

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

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

nikogdaАвтор темы

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

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

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

Sogan

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

whoohaw

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

Sogan

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

whoohaw

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

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

kvozimir

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

 
Теги: