За последние 24 часа нас посетили 18443 программиста и 1612 роботов. Сейчас ищут 1416 программистов ...

Падает сессия

Тема в разделе "PHP для новичков", создана пользователем silcki, 23 мар 2009.

  1. silcki

    silcki Активный пользователь

    С нами с:
    16 окт 2007
    Сообщения:
    18
    Симпатии:
    0
    привет всем! есть вопрос такого характера:

    на сайте есть авторизация, когда авторизируешься в Fire Fox все работает замечательно. Когда это делаешь в опере или ИЕ то при переброске header("Location:") сессия тупо обнуляется.

    Может кто сталкиваляся с такой чудной проблемой?
     
  2. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Проверял что обнуляеться кука с сессией, или в PHP сессия?
     
  3. silcki

    silcki Активный пользователь

    С нами с:
    16 окт 2007
    Сообщения:
    18
    Симпатии:
    0
    в PHP просто сразу после старта сессии делал var_dump($_SESSION);
     
  4. mantell

    mantell Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    Если опера и ие принимают куки, ищи ошибку у себя в коде
     
  5. silcki

    silcki Активный пользователь

    С нами с:
    16 окт 2007
    Сообщения:
    18
    Симпатии:
    0
    они то принимают куки, это 100%
    в том то и проблема, что найти ошибку не могу, код простой до не могу, сессия или кук нигде не перезаписывается и не валится.
     
  6. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Выложи код (только подсвети), а мы посмотрим....
     
  7. silcki

    silcki Активный пользователь

    С нами с:
    16 окт 2007
    Сообщения:
    18
    Симпатии:
    0
    это файл auth.php

    Код (Text):
    1.  
    2. session_start();
    3.  
    4. if(!empty($_REQUEST["login"]) || isset($_SESSION["login"])){
    5.         $get_query=" optype=auth";  
    6.         $get_query.=" login={$_POST['login']} password={$_POST['password']}";
    7.  
    8.         ////////////////////////////////////////////////
    9.         $result=exec("cgi-bin/pgint.cgi"."$get_query", $line);        
    10.         $mas = explode("%%",$line[0]);
    11.         foreach($mas as $v){
    12.           if(!empty($v)){
    13.             $mas2 = explode("=", $v);
    14.             eval("\$$mas2[0] = \"$mas2[1]\";");
    15.           }
    16.         }
    17.       ////////////////////////////////////////////////
    18.         if($result==1){
    19.           // ошибка
    20.         }        
    21.        
    22.         $_SESSION["login"]=$_REQUEST["login"];
    23.  
    24.         if(!empty($client_id)){
    25.           if (!empty($_POST["login"])){
    26.             $login = $_POST["login"];
    27.           }
    28.           elseif(isset($_SESSION["login"])){
    29.             $login = $_SESSION["login"];
    30.           }
    31.          
    32.           if(!empty($_POST["password"])){
    33.             $password = $_POST["password"];
    34.           }
    35.           elseif(isset($_SESSION["password"])){
    36.             $password = $_SESSION["password"];
    37.           }
    38.          
    39.           $_SESSION["client_id"]=$client_id;
    40.           $_SESSION["password"]=$password;
    41.           $_SESSION["userpass"]=$password;
    42.           $_SESSION["login"]=$login;
    43.           $_SESSION["account_sum"]=$account_sum;
    44.           $_SESSION["postaddr"]=$postaddr;
    45.          
    46.           AddFTPUser($login,$password);
    47.          
    48.           header("Location:main.php");
    49.           exit;
    50.         }
    51.       }
    файл куда идет пересылка header

    Код (Text):
    1. <?php
    2. session_start();
    3.  
    4. if(!session_is_registered("login")){
    5.   header("Location:index.php?p=3");
    6.   exit;
    7. }
    8.  
    9. include("incs/config.php");
    10. include("incs/uparser_main.php");
    11. $myParser=new parser("user.tpl");
    12. $myParser->parse();
    13.    
    14. ?>
    [/code]