SiteNull.ru - мы учим делать сайты: Простая работа с сессиями - SiteNull.ru - мы учим делать сайты

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Простая работа с сессиями Оценка: -----

#1 Пользователь офлайн   Irbis Иконка

  • Администратор
  • Иконка
  • Группа: Администраторы
  • Сообщений: 250
  • Регистрация: 02 Апрель 10
  • Поблагодарили: 2
  • ГородСаратов

Отправлено 12 Июль 2010 - 17:33

В прошлой теме я рассказывал как сделать простую регистрацию пользователя на сайте. Теперь поговорим о том как ее использовать, т.е. как сделать авторизацию пользователя. В этом деле помогут сессии и куки, ну про куки поговорим в следующий раз, сейчас о сессиях.
Создадим html-документ с формой авторизации
<form action="login.php" method="post">
Имя: <input type="text" name="uname">
Пароль: <input type="text" name="upass">
<input type="submit" value="Войти"></form>

В коде формы видим, что она отправляет данные в некий файл "login.php". Вот его и создаем и в нем пишем:
<?php
session_start(); // Стартуем сессию
if($_POST['uname'] && $_POST['upass']){ // Если из формы пришли логи и пароль
   $pass_db = mysql_result(mysql_query("SELECT u_pass FROM users WHERE u_name = '".$_POST['u_name']."'"), 0);// Запрашиваем из базы пароль пользователя с именем, которое пришло из формы
   if($pass_db == md5($_POST['upass'])){//Если пароль из формы совпадает с паролем из базы то авторизуем пользователя
      $_SESSION['uname'] = $_POST['uname'];
   } else { // Иначе выводим ошибку
      echo "Пароль не верен";
   }
}
?>

Суть проста, если пароль верен, то мы создаем для пользователя сессию в которую записываем его имя. Теперь оно будет доступно на всех страницах сайта где мы стартовали сессию. Для демонстрации создадим еще один файл test.php
<?php
session_start();
if($_SESSION['uname']){
   echo "Добро пожаловать ".$_SESSION['uname'];
} else {
   echo "Здравствуйте гость!";
}
?>

Откроем его в браузере до авторизации и увидим приветствие "Здравствуйте гость!", потом авторизуемся и откроем его еще раз, теперь страница нас поприветствует по имени.


Награды:

Награды пользователя
0

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей