pcheliakov
Member
- Регистрация
- 06.09.2010
- Сообщения
- 17
Этот код у меня авторизация к админке. файл lock.php
он подключён ко всем страницам сайта
Сделана ссылка на выход из сессии. на файл exit.php
Я так понимаю что нажав на выход я должен вернуться на страницу index.php и попасть опять на регистрацию. Но почему-то у меня сессия не завершается. И выход не производится. Такое ощущение что не работает session_destroy();
Код:
<?php
session_start();
require_once('blocks/db_login.php');
if(empty($_SESSION['user_id']))
{
if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']))
{
header('WWW-Authenticate: Basic realm="Member Area"');
header("HTTP/1.0 401 Unauthorized");
echo "<p style='color: red; font: bold 20px verdana; margin: 30px 0 0; padding: 0px; text-align: center;'>Введите имя пользователя и пароль</p>";
exit;
}
else
{
require_once('blocks/db.php');
$web_username = mysql_real_escape_string($_SERVER['PHP_AUTH_USER']);
$web_password = mysql_real_escape_string($_SERVER['PHP_AUTH_PW']);
//составляем запрос к базе данных
$query = "SELECT * ";
$query .= " FROM userlist WHERE ";
$query .= " username='".$web_username."' AND password=md5('".$web_password."')";
$query .= " LIMIT 1";
//запрос к базе данных на выборку
$result = mysql_query($query,$db);
if (!$result)
{
die ("Невозможно исполнить запрос к базе данных: <br/>". mysql_error());
}
else
{
if(!$myrow = mysql_fetch_array ($result, MYSQL_ASSOC))
{
header('WWW-Authenticate: Basic realm="Member Area"');
header("HTTP/1.0 401 Unauthorized");
echo "<p style='color: red; font: bold 20px verdana; margin: 30px 0 0; padding: 0px; text-align: center;'>Введены неверные имя пользователя и пароль!</p>";
exit;
}
else
{
$message = "<p style='text-align: center;'>Добро пожаловать<br/><font color='#F68121' size='4'>".$myrow['last_name']." ".$myrow['first_name']."</font></p>";
$_SESSION['user_id'] = $myrow['user_id'];
$_SESSION['username'] = $myrow['username'];
}
}
}
}
else
{
require_once('blocks/db.php');
//составляем запрос к базе данных
$query = "SELECT * ";
$query .= " FROM userlist WHERE ";
$query .= " user_id=".$_SESSION['user_id'];
$query .= " LIMIT 1";
//запрос к базе данных на выборку
$result_auth = mysql_query($query,$db);
if (!$result_auth)
{
die ("Невозможно исполнить запрос к базе данных: <br/>". mysql_error());
}
else
{
while($row_auth = mysql_fetch_array($result_auth, MYSQL_ASSOC))
{
$message = "<p style='text-align: center;'>Добро пожаловать<br/><font color='#F68121' size='4'>".$row_auth['last_name']." ".$row_auth['first_name']."</font></p>";
}
}
}
?>
Код:
<?php
require_once("lock.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head> и т.д..
Код:
<?php
require_once("lock.php");
if(isset($_SESSION['user_id']))
{
if($_SESSION['user_id'] == '')
{
//echo "user_id пуст";
}
else
{
//echo "user_id не пуст";
unset($_SESSION['user_id']);
if(!isset($_SESSION['user_id']))
{
//echo "<br/>user_id не существует";
if(isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['PHP_AUTH_PW']))
{
//echo $_SERVER['PHP_AUTH_USER']."<br/>";
//echo $_SERVER['PHP_AUTH_PW'];
unset($_SERVER['PHP_AUTH_USER']);
unset($_SERVER['PHP_AUTH_PW']);
}
if(isset($_SERVER['PHP_AUTH_USER']) || isset($_SERVER['PHP_AUTH_PW']))
{
//echo "Они ещё существуют";
}
else
{
//echo "Они удалены";
//$_SERVER["PHP_AUTH_USER"] == '';
//$_SERVER["PHP_AUTH_PW"] == '';
session_destroy();
unset ($_SESSION['user_id']);
if(is_null($_SESSION['user_id']))
{
header ("location: index.php");
exit();
}
}
}
}
}
else
{
//echo "user_id не существует";
}
?>