Получение значения из сеанса PHP
Я не уверен, почему переменная имя пользователя не возвращается в сеансе. Когда пользователь входит в систему, я начинаю сеанс:
$username = trim($_POST['username']);
if(!isset($_SESSION)){ session_start(); }
$_SESSION[$this->GetLoginSessionVar()] = $username;
На странице приветствия пользователя, когда я запускаю команду echo, я вижу возвращаемую правильную переменную. Но я не уверен, почему обратное утверждение не работает. У меня есть следующее в моем файле PHP:
function UserName()
{
return isset($_SESSION['name_of_user']) ? $_SESSION['name_of_user'] : "Unknown User" ;
//echo $_SESSION['name_of_user'];
}
В моем HTML я имею:
Welcome back <?PHP $fgmembersite->UserName(); ?>!
Я также проверил идентификатор сессии, и он также генерируется правильно. Можете ли вы помочь мне понять, что я делаю не так?
5 ответов
Является fgmembersite
объект и иметь его функцию под названием UserName
?
Если да, вы просто пропустите echo
<?PHP echo $fgmembersite->UserName(); ?>
Вы должны добавить эхо или печать, поэтому должно выглядеть так;
<?PHP echo $fgmembersite->UserName(); ?>
Вам нужно распечатать вашу переменную. использование
Echo
или же print
Возможно, вам следует добавить вывод:
<?php print $fgmembersite->UserName(); ?>
Если вы используете скрипт, который, я думаю, вы используете, вам нужно просмотреть fg_membersite.php в строке, которая говорит:
function CheckLoginInDB($username,$password)
в этой строке вы должны иметь оператор MySQL:
$qry = "SELECT etc...
Когда я попытался добавить UserAvatar, я смог сделать это, добавив его в строку MySQL.
Кроме того, у меня тоже возникают проблемы с добавлением UserName, и я не могу понять, почему он будет работать иначе, чем мой предыдущий обходной путь, но как-то так и есть, но я все еще уверен в этом файл в конечном итоге сделает свое дело.
Отредактировано:
Хорошо, я понял, просто сделай это:
echo $ fgmembersite-> UserName ($ username);
Имя пользователя появится прямо сейчас. Я понятия не имею, почему, я не знаю достаточно php, чтобы объяснить это, но я могу только предположить, что это поможет вам.