сессия не работает в opera

Фанат

oncle terrible
Команда форума
mixwell
ты сессию стартуешь в этот же момент или уже раньше стартовал?

вообще, моржно кое-что придумтаь, но пока ты не смотрел обмен заголовками с сервером, говорить о чем-либо бесполезно.
 

mixwell

Новичок
session_start() происходит самым первым. А что это вообще может быть? почему ослик блин все нормально выводит щас поеду посмотрю на другой опере(посвежее)..
 

Фанат

oncle terrible
Команда форума
да я не про session_start()
а про начало сессии.

-~{}~ 10.11.07 14:52:

пока ты не смотрел обмен заголовками с сервером, говорить о чем-либо бесполезно.

сколько раз мне повторить эту фразу?
 

HraKK

Мудак
Команда форума
В фаерфорсе в плагинах или http://www.blunck.se/comtrace/comtrace.html
для IE.
 

mixwell

Новичок
скачал последню версию оперы, проблема осталась:( Скачал
http://www.blunck.se/comtrace/comtrace.html. Выбрал в ней opera. Он выдал результат. Честно сказать для меня не понятно как его анализировать...
 

Nelius

кипарис во дворе
Автор оригинала: mixwell
скачал последню версию оперы, проблема осталась:( Скачал
http://www.blunck.se/comtrace/comtrace.html. Выбрал в ней opera. Он выдал результат. Честно сказать для меня не понятно как его анализировать...
Если хочешь чтобы тебе тут помогли, то стоит научиться правильно задавать вопросы и описывать проблему. Ну если ты не знаешь как анализировать, ну выложи это сюда.
И еще прежде чем работать с сессиями нужно иметь представление о передаче даннхых по HTTP протоколу. Нужно знать что происходит когда браузер посылает запрос на сервер и что сервер ему отвечает. И вообще больше читать надо больше и начинать с начала а не с конца)
 

mixwell

Новичок
Уважаемый Nelius, немного выше, если вы не обратили внимание, я максимально подробно описал свою проблему. В данный момент, собственно и занимаюсь перечитыванием мануалов, может банально что-то очень простое не знаю и из-за этого застрял..
 

Nelius

кипарис во дворе
Выложи сюда хедеры, плиз, тогда можно буит что-то сказать.

-~{}~ 10.11.07 16:38:

Еще желательно код с начала и до момента когда происходит session_start
 

Фанат

oncle terrible
Команда форума
mixwell
Честно сказать для меня не понятно как его анализировать...
тебе давали ссылку. http://phpfaq.ru/sessions
там написано:
Отслеживайте - что за куку ставит сервер браузеру, возвращает ли браузер ее. Искать очень полезно, просматривая просматривая обмен HTTP-заголовками между браузером и сервером.
Объяснение принципа работы кук выходит за рамки этого и так уж слишком большого текста, но хотя бы убедитесь, что сервер куку с идентификатором посылает, а браузер - возвращает. И при этом идентификаторы совпадают друг с другом =)
Установка куки должна выглядеть, как
Set-Cookie: PHPSESSID=prlgdfbvlg5fbsbshch6hj0cq6;
или как
Set-Cookie: PHPSESSID=prlgdfbvlg5fbsbshch6hj0cq6; path=/
(если вы запрашиваете скрипт не из корневого каталога)
Ответ сервера должен выглядеть, как
Cookie: PHPSESSID=prlgdfbvlg5fbsbshch6hj0cq6
либо
Cookie: PHPSESSID=prlgdfbvlg5fbsbshch6hj0cq6; b=b
что в этом тексте непонятно?
ты не можешь наути строчки, начинающиеся с Cookie: и Set-Cookie:? или что?

-~{}~ 10.11.07 17:16:

Nelius
выношу тебе предупреждение за провоцирование другого посетителя на нарушение правил форума.
еще одно предупреждение - и переедешь в коменду REad Only.
Твоя отвечательная активность ну никак не соответствует твоему уровню знаний.
 

mixwell

Новичок
всейчас долго мучался... вот что могу рассказть.
программа которую мне порекомендовали: http://www.blunck.se/comtrace/comtrace.html не отображает строк
начинающиеся с Cookie: и Set-Cooki. Ставил другие сниферы, они просто отображают: status, url, content type..
ставил такие сниферы как: http sniffer 1.2, effetech sniffer и т.д...
Заметил еще особенность:
когда загружаю сайт, и заполняю форму авторизации(логин, пароль) авторизация происходит нормально, но переменые сессие которые должны создаваться, не создаются, когда повторяешь процедуру, то все нормально. Не создаются переменные сессси только когда первый раз заходишь на сайт, при повторных попытках авторизации все нормально. Так же заметил, что после того как авторизация прошла успешно, нажимая на кнопку выход, страница редиректится и выводится пустая форма для ввода логина и пароля(т.е. вышел и переменные сессии убил), НО! когда закрываешь страницу и открываешь снова, то на сайте написано, что я все еще авторизированн. Если честно то я вообще ни понимаю что происходит.
Вот код авторизации:
PHP:
              if (empty($_SESSION['auth']))
               {
                 if ($action == "auth" && $_POST['hidPar'] == 1)
                  {
                         $result = mysql_query("SELECT * FROM mens WHERE login = '$loginN'");
                         $num = mysql_num_rows($result);
                         $row = mysql_fetch_object($result);
                         if ($num == 0)
                          {
                              $OUTPUT_INFO .= "<center>autorize error: uncorrect login.</center>";
                          }
                          else
                          {
                             $activat = $row->regStatus;
                             $pass    = $row->password;
                              if ($pass == $passN)
                               {
                                  if ($activat == 0)
                                   {
                                        $OUTPUT_INFO .= "<center>autorize error:Hello, mr. " . $row->firstName . " ". $row->lastName . " . You accaunt is not activeted</center>";
                                   }
                                    else
                                   {
                                       $_SESSION['idmen'] = $row->idMens;
                                       $_SESSION['pass'] = $row->password;
                                       $_SESSION['auth'] = $row->login;
                                       $_SESSION['fName'] = $row->firstName;
                                       $_SESSION['lName'] = $row->lastName;
                                       $_SESSION['email'] = $row->email1;

                                        header("Location: index.php?part=2&action=data&subPart=data&action=1");
                                        exit;
                                   }
                               }
                               else
                               {$OUTPUT_INFO .= "<center>autorize error: don't real password.</center>";}
                          }
                  }
вот код выхода(завершения сессии):
PHP:
         if ($action == "exit")
        {
            unset($_SESSION['auth']);session_unregister('auth');
            unset($_SESSION['idmen']);session_unregister('idmen');
            unset($_SESSION['fName']);session_unregister('fName');
            unset($_SESSION['lName']) ;session_unregister('lName');
            unset($_SESSION['pass']);session_unregister('pass');
            unset($_SESSION['email']); session_unregister('email');
            unset($_SESSION['editi']);session_unregister('editi');
            unset($_SESSION['membership']);session_unregister('membership');
            unset($_SESSION['SEARCHWHAIR']); session_unregister('SEARCHWHAIR');
            unset($_SESSION['SEARCHWHEIGHT']);session_unregister('SEARCHWHEIGHT');
            unset($_SESSION['SEARCHWEOLD1']);session_unregister('SEARCHWEOLD1');
            unset($_SESSION['SEARCHWEOLD2']); session_unregister('SEARCHWEOLD2');
           $OUTPUT_INFO .= " <script language=JavaScript>location.replace('index.php?part=22&subPart=exit') </script>";

        }
-~{}~ 10.11.07 23:39:

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

mixwell

Новичок
а что не так, разве нельзя убивать переменную сессию через unset? session_unregister вызываю так как register_globals=on
 

anti_sapiens

Новичок
Автор оригинала: mixwell
а что не так, разве нельзя убивать переменную сессию через unset? session_unregister вызываю так как register_globals=on
Да можно конечно. Но вот когда их 5-10 может и нормально. А когда 100 ? Так и будем мочить по одной ?
 

mixwell

Новичок
спасибо за совет, я внимательно отношусь с советам опытных программистов, но мне очень нужна ваша помощь в решении моей проблемы. Самому справиться не получается, так как не знаю куда копать. ФАНАТ сказал вытащить информацию о заголовках, но не могу подобрать совтинку нормальную для того чтобы инфу по кукам отражала.
 
Сверху