Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не получается удалить сессию 
V
    Опции темы
begin
Дата 16.5.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Для выхода из админки я написал такой скрипт:
Код

<?php
unset ($_SESSION['zxcvbnm']);
session_destroy();
include "index.php";
?>

Но выводится такое сообщение:
Код

Warning: Smarty error: unable to read resource: "page/2spalten.tpl" in /www/мой домен/class/tpl/Smarty.class.php on line 802
Warning: Smarty error: unable to read resource: "page/2spalten.tpl" in /www/мой домен/class/tpl/Smarty.class.php on line 802

На сайте до меня была установлена CMS, но не могу узнать какая - все копирайте тщательно удалены, а с прошлым вебмастером связаться не могу (мне заказали редизайн).
В чем я допустил ошибку?
PM MAIL   Вверх
mishaSL
Дата 16.5.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Ошибки которые вы привели не связаны с вашим кодом. Попробуйте после уничтожение сессий не инклюдить файл, а делать редирект на него.
Пример:
Код

<?php
unset ($_SESSION['zxcvbnm']);
session_destroy();
header("Location: http://www.mysite.ru/index.php");
?>



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
begin
Дата 16.5.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Теперь ошибка не выводится и переходит на ту страницу нормально.
Но! Сессия не удаляется. Я могу, не вводя снова логин и пароль, зайти в админку: после уничтожения сессии и даже после закрытия браузера.
Где-то еще осталасть ошибка.
Сессию проверяю так:
Код

session_start();
if (isset($_SESSION['zxcvbnm']))
{

PM MAIL   Вверх
teroni
Дата 16.5.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Цитата(begin @ 16.5.2007,  13:16)
Но! Сессия не удаляется. Я могу, не вводя снова логин и пароль, зайти в админку: после уничтожения сессии и даже после закрытия браузера.

После закрытия браузера сессия должна была бы разрушиться даже без Ваших session_destroy() так что видимо эта CMS куки оставляет. Удалите их с помошью setcookie(). И вообще как-то не круто на админку пароли в куках хранить, лучше бы только сессии использовать именно для админки.
PM MAIL   Вверх
begin
Дата 16.5.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Я использую ТОЛЬКО сессию. Та CMS что уже установлена возможно использует и куки.
Но дело вот в чем: новый дизайн сайт со всеми скриптами я ставлю в отдельную папку, так сказать параллельно. Старый дизайн мне трогать нельзя! Когда я доделаю свои скрипты - просто станет два варианта сайта: старый (построенный на CMS) и новый (построенный на моих скриптах). Мне нельзя сейчас лезть в куки и сессии, сделанные текущим сайтом. Но при это нужно умудрится, чтобы работали мои.
Как же мне извернуться? Насколько я понял из ваших ответов, мои скрипты написаны правильно, а проблемы возникают от чужой сессии.
PM MAIL   Вверх
teroni
Дата 16.5.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Чего гадать - посмотрите прямо, какие куки оставляет этот сайт у Вас на компьютере - может ситуация прояснится!
PM MAIL   Вверх
begin
Дата 17.5.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Посмотрел в папкак cookies ВО ВСЕХ учетных записях системы. Нигде нет кук с моего сайта.
А ситуация такова: в админку могу зайти с любого компьютера не вводя логин и пароль, даже впервые.
Получается что админка вообще не защищена.
Срочно нужен ваш совет. Ведь все сделал, как вы сказали, и тем не менее...  smile 
PM MAIL   Вверх
WolfON
Дата 17.5.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



Ну значит не передается идентификатор сессии у вас - очевидно же.
Это может-быть из-за неправильной настройке php или браузера
Попробуйте передавать идентификатор через адресную строку в браузере

И покажите код, который не работает
PM MAIL ICQ   Вверх
begin
Дата 17.5.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Скрипт, создающий сессию:
Код

<?php
if ((isset ($_POST['log'])) && (isset ($_POST['pas']))) 
{
if (($log='мой логин') && ($pas='мой пароль')) 
{
session_start();
$_SESSION['zxcvbnm']="admin";
include "admin.php";
}
}
else
{
include "login.php";
}
?>

где login.php - страница ввода логина и пароля.
Скрипт админки:
Код

<?php 
session_start();
if (isset($_SESSION['zxcvbnm']))
{
............... содержимое .......................
}
else
{
include "login.php";
}
?>

Скрипт, уничтожающий сессию:
Код

<?php
unset ($_SESSION['zxcvbnm']);
session_destroy();
header("Location: http://мой домен/index.php");
?>


Какие именно настройки php могут мешать нормальной работе моих скриптов? Насчет браузеров: дело не в них, потому что могу зайти в админку с любого другого компа, даже там, где не вводил пароль ни разу.
PM MAIL   Вверх
teroni
Дата 17.5.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Код

if (($log='мой логин') && ($pas='мой пароль')) 

заменить на 
Код

if (($log=='мой логин') && ($pas=='мой пароль')) 

smile
PM MAIL   Вверх
begin
Дата 17.5.2007, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Работает!!
Единственно, что сессия все таки живет до закрытия браузера.
А в остальном, все работает.
Всем спасибо за терпение и подсказки!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.