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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как настроить работу сессий? 
:(
    Опции темы
Skaner
Дата 24.5.2012, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Странно.Закоментировал все это дело.И сделал такой тест
Код

if ($session_error) {

  //@session_destroy();

  //if (isset($_COOKIE[session_name()]))
  //  @setcookie(session_name(),"","/");

  //@header("Location: ".get_settings('general','siteurl'));
  die("Session error!");
  //exit();
  };


Надпись Session error! вывелась на экран.Где может быть проблема?В сессиях?
PM MAIL   Вверх
Skaner
Дата 25.5.2012, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем привет! Закомментировал данное условие
Код

if ($session_error) {
 
  @session_destroy();
 
  if (isset($_COOKIE[session_name()]))
    @setcookie(session_name(),"","/");
 
  @header("Location: ".get_settings('general','siteurl'));
 
  exit();
  };
 
mysql_free_result($check_result);


В админку зашел,но некоторые функции не работают :( Что не так в этом условии?Почему с ним не работает?
PM MAIL   Вверх
ksnk
Дата 25.5.2012, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



session_error устанавливает есть ли в сессии некоторые переменные. В случае если их нет - сессия прибивается. Проверка производится СРАЗУ после создания сессии и ДО ее заполнения нужными значениями.

Вообще - зачем  уничтожать сессию?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Skaner
Дата 25.5.2012, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



С ними не работает.Что можно в xampp настроить?
PM MAIL   Вверх
Sanchezzz
Дата 26.5.2012, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



данное условие уничтожает сессию и водит куку в просроченное время так как 3 параметр функции setcookie, задает время жизни куки что при не верном заполнении будет 1970 год 1 января в формате unix_time...

Далее смотрим почему нас выкидывает сразу и постоянно

Код

<?php
require('../ib_config.php'); //тут не известно что 
$session_error = false;
 
if (!isset($_COOKIE[session_name()]))  // идет проверка если нету в куке SID сессии session_id()  устанавливаем переменную session_error в тру
  $session_error = true;
 
else {
  session_start(); // иначе запускаем  механизм сессии 
  session_register("user");  // регистрируемым глобальную переменную в сесси и как переименую user
 
// если в следующих переменных не существует то session_error тру
  if (!isset($user["login"]) || !isset($user["pass"]) || !isset($user["status"]))
    $session_error = true;
  };
 
// если session_error  не тру проверяем пользователя на авторизацию подставляя значения из глобальной переменной узер
if (!$session_error) {
  $sql="SELECT user_id FROM ".$ibcms->users." WHERE
    user_login='{$user['login']}' AND user_pass='{$user['pass']}'
    AND user_status='{$user['status']}'";
  $check_result = mysql_query($sql);
 
// если в азе нет данных значит логи или пароль не верный 
  if (mysql_error() || @mysql_num_rows($check_result) != 1)
    $session_error = true;
  };
 
// самое интересное если session_error тру уничтожаем сессию и куку
if ($session_error) {
 
  @session_destroy();
 
  if (isset($_COOKIE[session_name()]))
    @setcookie(session_name(),"","/");
 
//какой то редерект на спинальную страницу 
  @header("Location: ".get_settings('general','siteurl'));
 
  exit();
  };
 //освобождаем память вообще херня лишняя если кода дальше нету 
mysql_free_result($check_result);
?>


с точки зрения код валиднный но я не вижу авторизацию и где устанавливается куки чтобы session_error  не переводить в тру, смотрите код где у вас форма авторизации где в куки пишется сид сессии а в сесиию запихиваются данные



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
baldina
Дата 26.5.2012, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



Цитата(Sanchezzz @  26.5.2012,  09:31 Найти цитируемый пост)
я не вижу авторизацию и где устанавливается куки чтобы session_error  не переводить в тру

читайте первый пост.
но все это бесполезные советы для ТС, он не умеет...((
PM MAIL   Вверх
Sanchezzz
Дата 26.5.2012, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



посмотрев еще код этого поста  я не нашел где у вас устанавливается кука чтобы при выше описанном вашем коде вашу сессию не уничтожало

вставьте ниже этих строчек, 50 строка
Код

  session_start();
     session_register('user');
     $user['login']=$data['user_login'];
     $user['pass']=$data['user_pass'];
     $user['status']=$data['user_status'];

это
Код

setcookie(session_name(),"1", time() + 800);


Добавлено через 4 минуты и 8 секунд
baldina Ну для этого TS к нам на форум обратился я чем смог тем и помог:)


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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