Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z logowaniem w IE7, Przekierowanie i GET
Forum PHP.pl > Forum > PHP
raj3k
Witam, to mój pierwszy post więc proszę o wyrozumiałość
Problem jest następującego typu:
posiadam stronkę o przykładowym adresie: www.a.pl na który przekierowuje np: domena www.b.pl
Jeśli wchodzę na stronę przez przeglądarki Opera 9 oraz Firefox 3, przez oba adresy logowanie działa poprawnie
Problem pojawia się w IE7, ale tylko dla przekierowanej domeny www.b.pl - nie loguje się
Logowanie ma wyglądać następująco:
Na stronie głównej, w pliku index.html wyświetla się informacja: Witaj imię zalogowanej osoby, oraz pojawia się dodatkowa pozycja w menu
Dodam iż headery nie działają i aby przekierować na stronę używam: <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html?komunikat=3">
Podejrzewam iż problem tkwi właśnie w tycz przekierowaniach (mogę się mylić)
Proszę o pomoc bo nie mam już kompletnie pomysłu na to sad.gif
Oto kody:
zaloguj.php
  1. <?php
  2.         session_start();
  3.         if (!isset($_SESSION['sprawdz']))//na Session Fixation przez adres z ID sesji
  4.           {
  5.                session_regenerate_id();
  6.               $_SESSION['sprawdz'] = true;
  7.               $_SESSION['adres_ip'] = $_SERVER['REMOTE_ADDR'];
  8.           }
  9.         if($_SESSION['adres_ip'] !== $_SERVER['REMOTE_ADDR'])//Session Hijacking
  10.           {
  11.             echo 'Błąd: Próba przejęcia sesji!';
  12.             exit;
  13.           }
  14.         if(empty($_SESSION['zalogowany']))$_SESSION['zalogowany']=false;
  15.         if($_SESSION['zalogowany']==true)
  16.         {
  17.           session_destroy();
  18.     ?>
  19.             <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html?komunikat=2">
  20.     <?php
  21.         }
  22.         if($_SESSION['zalogowany']==false)
  23.         {    
  24.           require "connection.php";
  25.           connection();
  26.           $_POST['glogin'] = strip_tags($_POST['glogin']);
  27.           $_POST['ghaslo'] = strip_tags($_POST['ghaslo']);
  28.           $flogin=$_POST['glogin'];
  29.           $fhaslo=$_POST['ghaslo'];
  30.           /* id, imie, nazwisko, login, haslo, email, ranga, datarej */
  31.           $zap = "SELECT imie, nazwisko FROM users WHERE login='$flogin' AND haslo=md5('$fhaslo') ";
  32.           $result = mysql_query($zap) or die('Błąd w zapytaniu! Komunikat: '.mysql_error().'; Numer błędu: '.mysql_errno());
  33.           if(mysql_num_rows($result)==0)
  34.           {
  35.     ?>
  36.             <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html?komunikat=3">
  37.     <?php
  38.           }
  39.           else
  40.           {
  41.             while($row = mysql_fetch_array($result))
  42.               {
  43.                 $_SESSION['zalogowany']=true;
  44.                 $_SESSION['login'] = $flogin;
  45.                 $_SESSION['pass'] = $fhaslo;
  46.                 $_SESSION['imie'] = $row['imie'];
  47.                 $_SESSION['nazwisko'] = $row['nazwisko'];              
  48.                 /*
  49.                  foreach($_SESSION as $sesja=>$wartosc)
  50.                  {
  51.                    echo "<p>".$sesja." = ".$wartosc."</p>";
  52.                  }
  53.                  */
  54.               }
  55.     ?>
  56.               <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html?komunikat=1">
  57.     <?php
  58.           }
  59.         }//if($_SESSION['zalogowany']==false)
  60.     ?>


index.html
  1. <div id="naglowek1-info">          <div id="naglowek1-info">  
  2.           <?php
  3.             @session_start();
  4.             if($_SESSION['zalogowany']==true)
  5.             {
  6.               echo "Witaj ".$_SESSION["imie"];
  7.               if($_SESSION['adres_ip'] !== $_SERVER['REMOTE_ADDR'])//Session Hijacking
  8.               {
  9.                 echo 'Błąd: Próba przejęcia sesji!';
  10.                 exit;
  11.               }
  12.             }
  13.             else if($_GET['komunikat']=="1")
  14.               {
  15.                 echo  "Witaj ".$_SESSION["login"];
  16.               }
  17.             if($_GET['komunikat']=="2"){$_SESSION['zalogowany']=false; echo "Wylogowano";}
  18.             if($_GET['komunikat']=="3"){echo "Błędny login lub hasło";}
  19.           ?>
  20.       </div>
  21.       </div>
erix
Cytat
Dodam iż headery nie działają i aby przekierować na stronę używam: <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html?komunikat=3">

Pokaż, gdzie i jak je dawałeś; najlepiej byłoby, gdybyś gdzieś umieścił przykładową stronę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.