Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: IE не хочет работать с сессионными переменными

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
zeit
Отправлено: 16 Января, 2009 - 15:06:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Доброго времени суток.
Такая вот трудность возникла в процессе проектирования одного веб-приложения:
В начале конфигурационного файла ставлю session_start(); далее человек идет на страничку авторизации и должен ввести свой пароль и логин. Когда он ввел данные, нажал на кнопку, то сценарий проверяет данные в БД и если такой пользователь существует, устанавливает переменную $_SESSION['log'] в какое-то уникальное значение (на стадии теста у меня - true). И далее делает перенаправление на главную страничку. И если после session_start(); прописать if ($_SESSION['log']) print $_SESSION['log'] то в Mozilla и Opera все нормально работает, значение переменной выводится. А вот в IE коворит что такой переменной не существует!!! Я уморился уже. В чем причина не пойму. В коде ничего лишнего нет.
Помогите каким-нибудь советом, пожалуйста. Спасибо.

(Отредактировано автором: 16 Января, 2009 - 15:07:34)

 
 Top
EuGen Администратор
Отправлено: 16 Января, 2009 - 15:12:02
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Переменные сессии хранятся на сервере, браузер вряд ли может на них повлиять. Покажите, пожалуйста, Ваш код.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
zeit
Отправлено: 16 Января, 2009 - 15:26:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Код немного подсократил, но суть та же.

config.php

<?php

session_start();

...

if (isset($_SESSION['log'])) print "TRUE";
else print "FALSE";

...

?>



action.php

<?php

require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/class.login.inc');
...

if ($_POST['login']) {
if (Login::log("Имя таблицы", $_POST)) {
header("Location: /config.php");
exit();
}
else print "Ошибка аутентификации.";
}

...

?>


class.login.inc

<?php

class Login

...

public static function log($tab, $post)
{
$post = (object) $post;
$query = "SELECT COUNT(*) FROM `{$tab}`
WHERE `user` = '{$post->user}'
AND `login` = '{$post->login}'
AND `password` = '{$post->password}'";
if (mysql_result(mysql_query($query), 0))
{
$_SESSION['log'] = true;
return true;
}
else return false;
}

...

?>
 
 Top
valenok Модератор
Отправлено: 16 Января, 2009 - 15:38:10
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




и много раз F5 в ИЕ.
что происходит ? Может у вас вкрался какой-то пробел. Возможно ИЕ куки не сохраняет.


-----
Truly yours, Sasha.
 
My status
 Top
zeit
Отправлено: 16 Января, 2009 - 15:45:25
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Код работает. Получется: 1; 2; 3; 4; 5; ...


Отредактировано модератором: valenok, 16 Января, 2009 - 15:54:11
Зачем было цитировать полностью последнее сообщение ?
 
 Top
valenok Модератор
Отправлено: 16 Января, 2009 - 15:55:22
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Значит сессии работают, ИЕ работает и ошибка где то в вашем коде.
на первый взгляд в том что вы тут опубликовали - ошибок нет.
Проведите полную отладку. http://phpfaq[dot]ru/debug


-----
Truly yours, Sasha.
 
My status
 Top
Stierus Супермодератор
Отправлено: 16 Января, 2009 - 16:18:42
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Ты в ИЕ именно куку посмотри, есть ли она и что в ней пишут.
 
My status
 Top
zeit
Отправлено: 16 Января, 2009 - 22:01:12
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Stierus пишет:
Ты в ИЕ именно куку посмотри, есть ли она и что в ней пишут.


А как на нее посмотреть? Где она вообще лежит? Разъясните неграмотному.
 
 Top
Гость
Отправлено: 17 Января, 2009 - 12:50:12
Post Id


УДАЛЁН










куки хранятся на диске С -> document and settings -> [USER_NAME] -> Cookie
 
 Top
zeit
Отправлено: 19 Января, 2009 - 10:07:32
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Не знаю, да причем тут куки-файлы? Сессия работает на сервере и на браузер никаким макаром не влияет. Все такие, не пойму почему не работает в IE версии 6.0. На других версия IE не пробовал.
И повторюсь, в таких браузерах как Mozilla и Opera все идеально работает, в точности с программной задумкой.

(Отредактировано автором: 19 Января, 2009 - 10:10:32)

 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 10:11:40
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




zeit, куки тут очень даже причём. Сервер отдаёт одинаковые страницы, если в 2-х браузерах из 3-х всё работает, стоит посмотреть на настройки 3-го браузера. Сессия сама хранится на сервере, но доступ к ней идёт по Session id, которая передаётся серверу от клиента в куке (опускаем другие варианты, 99% всех случаев именно в куках), если сервер не получит этот Id, то сессию он откроет новую (привязки к старой нет), а значит и информации в ней никакой не будет.

ps
Если считаешь, что знаешь лучше окружающих, в чём проблема - для чего задаёшь вопросы ?

(Отредактировано автором: 19 Января, 2009 - 10:13:26)

 
My status
 Top
zeit
Отправлено: 19 Января, 2009 - 10:22:40
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




В том-то и дело, что не знаю в чем проблема. Для IE я даже не представляю от чего отталкивать что бы локализовать проблему... Я проверял тестовый скрипт на IE и сессии в нем работали нормально, но почему мой код из программы не работает. В логике программы ошибки никакой нет, десять раз проверено. Тем более, я уже сказал, в нормальных браузера все идеально работает. Это ппц какой-то. Это уже за гранью логического понимания.
 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 10:27:08
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




zeit, в твоём примере слишком много "..." что бы говорить о чём-то конкретно, а если их убрать - будут тонны кода, которые ворочать лично у меня желания нет. Если окончательно зайдёшь в тупик (здесь или где-нибудь ещё так и не дадут дельных советов) - переходи в раздел "FreeLance", там точно помогут, хоть и не бесплатно.

ps
Попробуй на бумаге нарисовать логическую схему работы скрипта - в 90% случаев, приходит понимание проблемы Улыбка

(Отредактировано автором: 19 Января, 2009 - 10:28:29)

 
My status
 Top
EuGen Администратор
Отправлено: 19 Января, 2009 - 10:29:08
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




В IE
Сервис->Свойства обозревателя->Конфиденциальность.
Убедитесь, что там не выставлен уровень "блокировать все cookie".


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
zeit
Отправлено: 19 Января, 2009 - 10:33:51
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Поставил самый низкий уровень. Все равно не работает.

Сейчас попробую создать новую папку и удалять код по-тихоньку.
(Добавление)
Создал другую папку. Туда все приложение переместил. Зашел по новому адресу. И ура - заработало!

А теперь вопрос на засыпку, почему в той папке у меня ничего не работало? Наука на этот вопрос, ответа, видимо, не знает. Стоит Денвер.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB