Вот код
<?
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>
Когда я вхожу на сайт то запускаю сессию и регестрирую переменную $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 include "accaunt.php"; ?>
Как реализовать выход и уничтожение сессий?
15 марта 2010, 6:21
Автор: reyn90
|
1234ruМожет быть, сессия сохраняется в cookie, а в коде допущена ошибка и при выходе cookie не стираются (механизм работы сайта видит, что cookie есть, и присваивает переменные сессии).Нужно посмотреть остальные файлы и поискать фрагменты вида setcookie() или $_COOKIE. То, что не убивает нас, делает нас инвалидами.
|
16.03.2010, 02:56 Ответить |
|
NO USERPIC
|
reyn90механизм работы сайта видит, что cookie есть, и присваивает переменные сессииТогда почему он присваевает на странице выхода имя ГОСТЬ а на главной переприсваевает обратно? Нужно посмотреть остальные файлы и поискать фрагменты вида setcookie() или $_COOKIE. Таких фрагментов у меня в коде нет и нужно ли их использовать? Я читал что сессиями можно ограничеться вот и пользуюсь сессиями. Но если нужно с сессиями использовать куки то ты объсни простой примерчик пожалуста. |
16.03.2010, 05:45 Ответить |
|
1234ruВ начале и в конце скрипта поставьте print_r($_SESSION).Что показывает при залогинивании и разлогинивании? То, что не убивает нас, делает нас инвалидами.
|
18.03.2010, 00:35 Ответить |
|
NO USERPIC
|
reyn90При залогинивании показывает логин.При разлогинивании показывает ГОСТЬ.Когда перехожу на главную, то показывает логин. |
18.03.2010, 06:27 Ответить |
|
1234ruА у Вас в адресах страниц нет фрагментов вида PHPSESSID=... ?То, что не убивает нас, делает нас инвалидами.
|
18.03.2010, 17:00 Ответить |
|
NO USERPIC
|
reyn90Нет нету |
20.03.2010, 00:31 Ответить |
|
1234ruПопробуйте после перехода на главную нажать Ctrl+F5 (возможно, у Вас браузер страницу закешировал, и показывается её устаревшая версия; Ctrl+F5 принудительно запросит страницу с сервера заново)То, что не убивает нас, делает нас инвалидами.
|
21.03.2010, 23:25 Ответить |
|
NO USERPIC
|
reyn90нажать Ctrl+F5И это непомогло. Мне кажется что где в коде ошибка. Я поищу а потом напишу. |
22.03.2010, 06:35 Ответить |
© 2007—2012 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
