[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите написать простой класс авторизации
LittleBudda
Помогите написать простой класс авторизации на сайте, с проверкой логина и пароля из базы, нашел вот такой пример
http://ruseller.com/lessons.php?rub=37&id=1145
начинаю изучать ооп на php, раньше программировал на процедурном, вот такой код использовал, не хватает практики поэтому и обращаюсь сюда
, файл login.php

<?php
//Начинаем сессию
session_start();
//Подключаем файл конфигурации
//берем его из корня

include_once("../config.php");

//Проверяем ввел ли пользователь имя
if (!empty($_POST['name_admin']) and !empty($_POST['pass_admin']))
{
//Если пользователь ввел данные
//Проверяем имеет ли он доступ к админке

$sql="SELECT * FROM admins WHERE NAME='".mysql_escape_string($_POST['name_admin']);
$sql.="' AND PASS='";
$sql.=mysql_escape_string(md5($_POST['pass_admin']))."'";
//Получаем результат запроса в переменную $result
$result=@mysql_query($sql) or die('Не удалось выполнить запрос: '.mysql_error());
//Проверяем: есть ли такой пользователь
if (!mysql_num_rows($result))
{
//Если такого пользователя нет, то отказываем ему в доступе
//и возращаем назад к форме авторизации

?>
<script>
location.href="index.php?wrong_data=yes";
</
script>
<?php
}
//Иначе записываем факт авторизации в сессию
else
{
$_SESSION['autorized']=true;
$_SESSION['name']=$_POST['name_admin'];
$_SESSION['time']=time();
?>
<!--Пользователь авторизован, перенаправляем его в админку-->
<
script>
location.href="index.php";
</
script>
<?php

}
}

//Если пользователь не ввел данные
else
{
//То отказываем ему в доступе
//и возращаем назад к форме авторизации

?>
<script>
location.href="index.php?wrong_data=yes";
</
script>
<?php
}

?>





файл logout.php

<?php
//уничтожаем сессию
session_start();
session_unset();
session_destroy();
?>
<script>
location.href="http://www.sro-sst.ru";
</
script>

форма авторизации

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title>Панель администратора</title>
<
link href="css/main.css" rel="stylesheet" type="text/css" />
</
head>
<?


//Проверяем авторизован ли пользователь
if ((!isset($_SESSION['autorized'])) or ($_SESSION['autorized']!=true))

{

?>

<body>
<
div id="main">

<
div id="login_form">
<
h1>Вход в систему управления</h1>

<
form method='post' action='login.php'>


<
table>

<
tr><td class="log_left">логин:</td><td><input type='text' name='name_admin' value=''></td></tr>

<
tr><td class="log_left">пароль:</td><td><input type='password' name='pass_admin'></td></tr>

</
table>

<
p><input type='submit' value='Войти »'></p>

</
form>
</
div>



<?php

}

else

{

//Пускаем в админку
?>
<script>
location.href="index.php?page=menu";
</
script>
<?php

}
?>


</div>
<
div id="footer">
<
div id="footer_in">

</
div>
</
div>

</
body>
</
html>



Заранее благодарю откликнувшихся.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.