Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2012, 20:07   #1
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию проблема с сессией в ие

Здравствуйте! появился такой прикол в ие, создаю сесию, появляется ссылка "Hello, user...." но после обновления все исчезает, будто сесии и небыло. Во всех остальных браузерах все нормально...Может кто сталкивался?
hunter03 вне форума Ответить с цитированием
Старый 20.07.2012, 12:21   #2
chyvakoff
Пользователь
 
Аватар для chyvakoff
 
Регистрация: 10.12.2011
Сообщений: 91
По умолчанию

Сессии не связаны с браузером никак..они работают на стороне сервера и им пофиг что у вас за браузер и пользуйтесь ли вы браузером вообще.

Можно ваш проблемный скрипт в студию?
chyvakoff вне форума Ответить с цитированием
Старый 20.07.2012, 13:45   #3
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
Сессии не связаны с браузером никак
Ну вообще-то идентификатор сессии хранится в cookies браузера .... Поэтому как вариант в IE может быть что-то не так c cookies
Cronos20 вне форума Ответить с цитированием
Старый 20.07.2012, 19:04   #4
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

Код:
public function do_authorisation()
	{
	$data['title']='Авторизация';
	$this->load->library('form_validation');
	$this->form_validation->set_rules('login1', 'Логин', 'required');
	$this->form_validation->set_rules('password1', 'Пароль', 'required');
        $this->form_validation->set_message('required', 'Поле %s не заполнено');
        $this->form_validation->set_message('min_length', 'Минимальная длина пароля - 4 символа');
        $this->form_validation->set_message('matches', 'Пароли не совпадают!');
        $this->form_validation->set_error_delimiters('<p style="color:red">', '</p>');
        
		if ($this->form_validation->run() == FALSE)
		{
		       	$data['title']='Не удалось авторизироваться';
                $data['msg']='<p id="msg">Ошибка при авторизации</p>';
					
								
	$this->skin->main_blog('message',$data);
         }
        else
        {
            $this->db->where('login',$this->input->post('login1',true));
            $this->db->where('validation',1);
            $this->db->where('password',md5($this->input->post('password1',true)));
            $this->db->limit(1);
            $dt=$this->db->get('users');
        
            if ($dt->num_rows() == 1)
                {
                    $row=$dt->row();
                                            
                          $arr = array(
                                    'id_users'=>$row->id_users,
                                    'login'=>$row->login,
                                    'ban'=>$row->ban,
									'validation'=>$row->validation,
									'admin'=>$row->admin
                                  );
                          $data['title']='Авторизация прошла успешно';
                            $this->session->set_userdata($arr);
                            $data['msg']='<p id="msg">Вы успешно авторизировались!</p>
								<script type="text/javascript">
								function remove(a){
								b = document.getElementById(a);
								b.style.display = "none";
								window.location = "/";}
								setInterval("remove(\'msg\')", 2000);
								</script>';
	$this->skin->main_blog('message',$data);
                   
                }
                else
                {
                                $data['title']='Учетная запись не найдена!';
								$data['msg']='<p id="msg">Учетная запись не найдена</p>
								';
	$this->skin->main_blog('message',$data);
                             
                }
        }
				
				
	
	}/*avtorisation*/
Вот, во всех работает в ие просто как назло не хочет
hunter03 вне форума Ответить с цитированием
Старый 20.07.2012, 19:09   #5
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

Кстати, прикол в чем: сесия в ие все таки создается...он мне пишет $data['title']='Авторизация прошла успешно';, вывожу в хэдэре
Код:
<?if($this->session->userdata('login')!=''){?><p>Добро пожаловать</p><?}?>
но после обновления страницы все пропадает и всё(((
hunter03 вне форума Ответить с цитированием
Старый 20.07.2012, 20:13   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Для хранения данных сессий CodeIgniter-a используется База Данных?
Если нет – то стоит начать использовать для этого БД.
Как это сделать – написано здесь.
Как вариант – Native Sessions.
Andkorol вне форума Ответить с цитированием
Старый 20.07.2012, 20:14   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

и думаете по этому коду видно - где и как с сессиями работает?
используется какой то движок.. шаблонизатор .. где там закопана работа с сессиями -неизвестно.....к примеру session_start() везде стоит ?
... в остальных браузерах ТОЧНО все работает? ... не отключены/заблочены ли кукив ИЕ? на каком сервере пробуете .. или локальный типа Денвера?
ADSoft вне форума Ответить с цитированием
Старый 20.07.2012, 20:38   #8
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

после составления массива для сессии я пишу
Код:
 $this->session->set_userdata($arr);
тут сессия и создается...
я открыл свой старый проект, в нем сессия создается...впринципе код от моего старого проекта отличается другим набором записей для сессии
и во всех других браузерах все работает корректно...ума не приложу в чем может быть проблема...
и записывать данные сесии в бд...ну...прошлый век помоему
hunter03 вне форума Ответить с цитированием
Старый 20.07.2012, 20:42   #9
hunter03
Форумчанин
 
Регистрация: 05.05.2009
Сообщений: 244
По умолчанию

я уже не один раз перечитывал ту инфу о сессиях в кодигнитере...все сделал верно, иначе в других браузерах тоже косячило бы...может ие как то блочит именно эту сессию...пытался гуглить - ниче толкового не нашел
hunter03 вне форума Ответить с цитированием
Старый 20.07.2012, 20:46   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Это – CodeIgniter.
В нем имеется свой функционал псевдо-сессий, который и используется в представленном коде - это НЕ обычные сессии.

Этот функционал имеет два варианта хранения данных:
БД – все данные хранятся в таблице БД, в cookies хранится только внутренний идентификатор;
cookies – все данные хранятся прямо в cookies, в зашифрованном виде;

Потому и спрашиваю – как хранятся данные?
Если все данные хранятся в cookies – то тут с IE могут быть траблы по тысяче причин, ибо нормально этот браузер ни с чем работать не умеет, и cookies – не исключение.
Цитата:
и записывать данные сесии в бд...ну...прошлый век помоему
С чего бы это..?
Никто не заставляет юзать сессии CodeIgniter-a.
Не нравится – переписывай код под обычные сессии, или используй Native Session для CodeIgniter – готовая либа.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помоги пожалуйст с сессией начинающему! Nikushor Помощь студентам 0 02.05.2012 18:59
прога по работе с сессией WIRESHARKA'a Skid Row C++ Builder 1 13.12.2011 09:55
Работа с куками и сессией (Indy,WebBrowser) m0rg0t C++ Builder 0 19.07.2011 23:52
Зачётные задания перед сессией. Паскаль Novenkaja Фриланс 12 30.12.2010 00:35
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37