volkovics
Новичок
Привет всем!
Недавно начал учить пхп, походу дела возник вопрос и не один. Бился я очень много времени, прочитал много информации, нужной и не нужной. Всеравно не получается.
Вот код авторизации, который я использую:
Вопрос, у меня есть главная страница и я хочу, чтобы на ней в определенном мною месте появлялась надпись:
Читал, что на всех страницах, где я хочу использовать сессию, нужно ставить код:
Я ставлю, но не совсем разобрался, что дальше делать-то.
Выражаю заранее много благодарности за помощь.
Недавно начал учить пхп, походу дела возник вопрос и не один. Бился я очень много времени, прочитал много информации, нужной и не нужной. Всеравно не получается.
Вот код авторизации, который я использую:
PHP:
<?php
session_start(); //Запускаем сессии
class AuthClass {
private $_login = "admin"; //Устанавливаем логин
private $_password = "admin"; //Устанавливаем пароль
/**
* Проверяет, авторизован пользователь или нет
* Возвращает true если авторизован, иначе false
* @return boolean
*/
public function isAuth() {
if (isset($_SESSION["is_auth"])) { //Если сессия существует
return $_SESSION["is_auth"]; //Возвращаем значение переменной сессии is_auth (хранит true если авторизован, false если не авторизован)
}
else return false; //Пользователь не авторизован, т.к. переменная is_auth не создана
}
/**
* Авторизация пользователя
* @param string $login
* @param string $passwors
*/
public function auth($login, $passwors) {
if ($login == $this->_login && $passwors == $this->_password) { //Если логин и пароль введены правильно
$_SESSION["is_auth"] = true; //Делаем пользователя авторизованным
$_SESSION["login"] = $login; //Записываем в сессию логин пользователя
return true;
}
else { //Логин и пароль не подошел
$_SESSION["is_auth"] = false;
return false;
}
}
/**
* Метод возвращает логин авторизованного пользователя
*/
public function getLogin() {
if ($this->isAuth()) { //Если пользователь авторизован
return $_SESSION["login"]; //Возвращаем логин, который записан в сессию
}
}
public function out() {
$_SESSION = array(); //Очищаем сессию
session_destroy(); //Уничтожаем
}
}
$auth = new AuthClass();
if (isset($_POST["login"]) && isset($_POST["password"])) { //Если логин и пароль были отправлены
if (!$auth->auth($_POST["login"], $_POST["password"])) { //Если логин и пароль введен не правильно
echo "<h2 style=\"color:red;\">Логин и пароль введен не правильно!</h2>";
}
}
if (isset($_GET["is_exit"])) { //Если нажата кнопка выхода
if ($_GET["is_exit"] == 1) {
$auth->out(); //Выходим
header("Location: ?is_exit=0"); //Редирект после выхода
}
}
?>
<?php if ($auth->isAuth()) { // Если пользователь авторизован, приветствуем:
echo "Здравствуйте, " . $auth->getLogin() ;
echo "<br/><br/><a href=\"?is_exit=1\">Выйти</a>"; //Показываем кнопку выхода
}
else { //Если не авторизован, показываем форму ввода логина и пароля
?>
<form method="post" action="">
Логин: <input type="text" name="login"
value="<?php echo (isset($_POST["login"])) ? $_POST["login"] : null; // Заполняем поле по умолчанию ?>" />
<br/>
Пароль: <input type="password" name="password" value="" /><br/>
<input type="submit" value="Войти" />
</form>
<?php } ?>
Понимаю, что вопрос совсем детский, но у меня не получается, а друзей или просвященных знакомых нет.Привет, $username!
<a href="ссылка_на_страницу_добавления_новости">Добавить новость</a>
Читал, что на всех страницах, где я хочу использовать сессию, нужно ставить код:
PHP:
<?php session_start(); ?>
Выражаю заранее много благодарности за помощь.