<?
session_start();
unset($_SESSION['username']); // уничтожаем логин
session_destroy();
?>
<?php include("config.php"); ?>
<!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">
<meta http-equiv="Refresh" content="5;URL=index.php"/>
<head>
<title>Главная</title>
<Meta name="Author" Content="Шавалиев Ренальд">
<Meta name="Description" Content="Развлекательный портал У нас как дома!">
<Meta name="Keywords" Content="скачать,бесплатно,футбол,трансляция,сайт,обучение,видеоуроки">
<Meta name="Reply-to" Content="biglec90@mail.ru">
<Meta Name="Date" Content="2010.12.03 20:15">
<Meta Http-equiv="Content-Type" Content="text/html; charset=Windows-1251">
<?php include "css.php"; ?>
</head>
<body class="thrColHybHdr">
<div id="container">
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
<div id="mainContent">
<h1>Мы убили вашу сесию.</h1>
<?php
/*
unset($_SESSION['username']); */
$_SESSION['username']= "Гость";
echo "Вы теперь ".$_SESSION['username'];
?>
</div>
<br class="clearfloat" />
<?php include "footer.php"; ?>
</div>
</body>
</html>
Как реализовать выход и уничтожение сессий(PHP)?
Код:
Когда я вхожу на сайт то запускаю сессию и регестрирую переменную $username как введённы ник. Потом жму на выход(logout.php - его код указан выше) я уничтожаю сессию и дерегестрирую переменную $username? а потом регестрирую её как ГОСТЬ. Потом жму на главную. И там я снова тот кто недавно вводил логин.
Вот кусок кода проверки посетителя. Т.е. кто на сайте $username='ГОСТЬ' или $username='введённы логин'
Это файл accaunt.php
Код:
<div id="sidebar2">
<?php
$name=$_SESSION['username'];
$proverka=mysql_query("SELECT * FROM users WHERE nike='$name'");//эта строчка показывает ошибку - or die(mysql_error());
$vibor=mysql_num_rows($proverka);
//echo mysql_errno($vibor);
if(empty($vibor))
{
echo "<h3>Панэль управления для гостей ограничена</h3><p><a href='regf.php'>Регистрация</a></p><p><a href='loginf.php'>Вход</a></p>";
}
else
{
echo "<h3>Панэль управления для ".$_SESSION['username']."</h3><p><a href='stealbblaets.php'>Секретнве таблицы</a></p>
<p><a href=''>Добавит новость</a></p><p><a href='logout.php'>Выход</a></p>";
}
?>
</div>
<?php
$name=$_SESSION['username'];
$proverka=mysql_query("SELECT * FROM users WHERE nike='$name'");//эта строчка показывает ошибку - or die(mysql_error());
$vibor=mysql_num_rows($proverka);
//echo mysql_errno($vibor);
if(empty($vibor))
{
echo "<h3>Панэль управления для гостей ограничена</h3><p><a href='regf.php'>Регистрация</a></p><p><a href='loginf.php'>Вход</a></p>";
}
else
{
echo "<h3>Панэль управления для ".$_SESSION['username']."</h3><p><a href='stealbblaets.php'>Секретнве таблицы</a></p>
<p><a href=''>Добавит новость</a></p><p><a href='logout.php'>Выход</a></p>";
}
?>
</div>
На главной странице я использую код для отображения данных с этого кода такой:
Код:
<?php include "accaunt.php"; ?>
Я в веб-программировании не силен, но к сведению: панель пишется через Е
мм. а зачем делать session_destroy(), а потом назначать перемменой сессии какое-то значение?
Цитата:
мм. а зачем делать session_destroy(), а потом назначать перемменой сессии какое-то значение?
А как тогда? Я просто пробоал session_destroy() а потом редирект на главную, но увы и так тоже нет эффекта
Цитата:
Я в веб-программировании не силен, но к сведению: панель пишется через Е
МОЛОДЕЦ!!!
Да и вообще, не вижу смысла делать такую огромную страницу, чтобы только уничтожить сессию и выйти из системы. Можно просто создать страницу содержащую
<?php
session_start();
unset($_SESSION['username']);
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/");
?>
И запускать ее когда посетитель жмет "Выход". Она перенаправляет его на главную, которая снова проверяет что полз-ль не авторизирован и выводит обычное содержимое и строку "Здравствуйте Гость".