Как вывести имя пользователя на страницу? Тестирую в Денвере.
Пробую вставить этот код:
echo $_SESSION["email"];
Но он не срабатывает. Почему?
_____________
Начал учить PHP+MySQL в возрасте уже за 50. Пока не жалею.
echo $_SESSION["email"];
Цитата (Медведь @ 7.08.2016 - 19:58) |
Вы сохранили в сессию email? |
<?php
/**
* Скрипт распределения ресурсов
* Проверяем права на чтение данных,
* только для зарегистрированных пользователей
*/
//Проверяем зашел ли пользователь
if($user === false){
echo '<h3>Доступ закрыт, Вы не вошли в систему!</h3>'."\n";
}
if($user === true) {
echo '<h3>Поздравляю, Вы вошли в систему!</h3>'."\n";
echo '<a href="'.BEZ_HOST.'?mode=auth&exit=true"><input type="submit" value="Выйти" name="submit"></a>';
//Вот сюда я хочу вставить код вывода имени пользователя на страницу
echo $_SESSION["email"];
}
?>
Цитата (Медведь @ 7.08.2016 - 20:10) |
В каком месте объявляется - $user |
echo $_SESSION["email"]';вставляю
echo $user;, то выводится статус пользователя (цифра 1, говорящая о том, что он активирован)
Цитата (Comer @ 7.08.2016 - 20:15) | ||
В самом конце кода. |
Цитата (Медведь @ 7.08.2016 - 20:18) | ||||
Покажите. |
//Я хочу вставить этот код
echo $_SESSION["email"];
Цитата (Медведь @ 7.08.2016 - 20:22) |
:lol: всё.. я под стулом )) Покажите то место, где создаётся переменная $user = |
<?php
/**
* Обработчик формы авторизации
* Авторизация пользователя
*/
//Выход из авторизации
if(isset($_GET['exit']) == true){
//Уничтожаем сессию
session_destroy();
//Делаем редирект
header('Location:'. BEZ_HOST .'?mode=auth');
exit;
}
//Если нажата кнопка то обрабатываем данные
if(isset($_POST['submit']))
{
//Проверяем на пустоту
if(empty($_POST['email']))
$err[] = 'Не введен Логин';
if(empty($_POST['pass']))
$err[] = 'Не введен Пароль';
//Проверяем email
if(emailValid($_POST['email']) === false)
$err[] = 'Не корректный E-mail';
//Проверяем наличие ошибок и выводим пользователю
if(count($err) > 0)
echo showErrorMessage($err);
else
{
/*Создаем запрос на выборку из базы
данных для проверки подлиности пользователя*/
$sql = 'SELECT *
FROM `'. BEZ_DBPREFIX .'reg`
WHERE `login` = :email
AND `status` = 1';
//Подготавливаем PDO выражение для SQL запроса
$stmt = $db->prepare($sql);
$stmt->bindValue(':email', $_POST['email'], PDO::PARAM_STR);
$stmt->execute();
//Получаем данные SQL запроса
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
//Если логин совподает, проверяем пароль
if(count($rows) > 0)
{
//Получаем данные из таблицы
if(md5(md5($_POST['pass']).$rows[0]['salt']) == $rows[0]['pass'])
{
$_SESSION['user'] = true;
//Сбрасываем параметры
header('Location:'. BEZ_HOST .'?mode=auth');
exit;
}
else
echo showErrorMessage('Неверный пароль!');
}else{
echo showErrorMessage('Логин <b>'. $_POST['email'] .'</b> не найден!');
}
}
}
?>