Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje nie działają w IE
Forum PHP.pl > Forum > PHP
115750
Zrobiłem sobie prosty mechanizm logowania oparty o sesje. Wszystko działa ładnie ale tylko w FF.
W IE sesja nie przechodzi między stronami.
Dane z pliku login.php nie trafiają już do index.php.
Funkcja print_r($_SESSION) umieszczona w index.php zwraca pusty wynik.
Czy ja coś tu robię źle?

Mechanizm wygląda następująco:

plik index.php
  1. <?
  2. if (!isset($_SESSION['logged']) || $_SESSION['logged']!=1 || !isset($_SESSION['user']))
  3. {
  4. header('Location: login.php');
  5. die; // dla pewności :)
  6. }
  7.  
  8. require('head.inc.php');
  9.  
  10. ?>
  11.  
  12. <center><br>
  13. Treść strony w html
  14. </center>


login.php
  1. <?
  2.  
  3. if (isset($_POST['przycisk']))
  4. {
  5. require_once('db_open.inc.php'); // Nawiązanie połączenia z B.D.
  6.  
  7. // Wysyłanie zapytania SQL
  8. $zapytanie = sprintf("SELECT * FROM users WHERE login='%s' AND password='%s'", $_POST['user'], md5($_POST['pass']));
  9. $wynik = db_query($zapytanie);
  10.  
  11. if (mysql_num_rows($wynik)!= 1)
  12. error_p('Błędna nazwa użytkownika lub hasło.', 1);
  13. else
  14. {
  15. $wiersz = mysql_fetch_assoc($wynik);
  16.  
  17. $_SESSION['logged'] = 1;
  18. $_SESSION['uid'] = $wiersz['id'];
  19. $_SESSION['user'] = $wiersz['name'].' '.$wiersz['surname'];
  20. }
  21.  
  22. // Rozłączanie
  23. mysql_close($link);
  24.  
  25. // Przekierowanie na stronę główną
  26. header("Location: index.php");
  27. }
  28.  
  29. ?>
  30. <form action="login.php" method="post">
  31. <table>
  32. <tr><td>Użytkownik:</td><td><input type="text" name="user" style="width: 110px"></td></tr>
  33. <tr><td>Hasło:</td><td><input type="password" name="pass" style="width: 110px"></td></tr>
  34. <tr><td colspan="2" align="right"><input type="submit" name="przycisk" value="Zaloguj"></td></tr>
  35. </table>
  36. </form>
  37. </center>
nospor
Na dobrą sprawę sesje są niezależne od przeglądarki.

Włącz wyświetlanie wszystkich błędów a może dowiemy się o paru błędach. Tu masz napisane jak:
Temat: Jak poprawnie zada pytanie
115750
Cytat(nospor @ 6.11.2012, 15:49:57 ) *
Na dobrą sprawę sesje są niezależne od przeglądarki.

Też tak myślałem.

Cytat(nospor)
Włącz wyświetlanie wszystkich błędów a może dowiemy się o paru błędach. Tu masz napisane jak:
Temat: Jak poprawnie zada pytanie

Wszystkie komunikaty są włączone ale nie pojawia się żaden błąd.

var_dump($_SESSION) zwraca array(0) {}.

Zapomniałem dodać jedną rzecz, chyba ważną.
Skrypty testuję na komputerze lokalnym. Gdy wywołuję ją przez localhost wszystko działa.
Problem pojawia się dopiero wtedy gdy próbuję wejść przez nazwę komputera.
Sebek87
Daj na początku w login.php buforowanie:
115750
Cytat(Sebek87 @ 6.11.2012, 16:05:01 ) *
Daj na początku w login.php buforowanie:

Dałem ale nic nie pomogło.

Czy to może być problem z konfiguracją apache'a albo php?
Na innym serwerze tego problemu nie ma.
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.