Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z przekierowaniem.
Forum PHP.pl > Forum > Przedszkole
klapaucius
Mam nastepujący problem:
w pliku index.php mam taką linijkę:
  1. if($_SESSION['zalogowany']){
  2. header('Location: main.php');
  3. }

Sprawdza ona, czy użytkownik jest zalogowany. Jeśli tak, to przekierowuje go na stronę main.php, jednak w praktyce to nie działa, gdyż wyskakuje nastepujący komunikat w przeglądarce (firefox):
Nieprawidłowe przekierowanie
Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.
* Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek.

Dodam, że strona main.php gdy się na nią wejdzie bezposrednio to działa bez problemu....
Spawnm
Pokaż main.php oraz resztę kodu z obecnego pliku, pewnie masz tam przekierowanie które się zapętlają.
klapaucius
Wydaje mi sie ze wrzucanie calego kodu html strony jest zbyteczne i wrzucam tylko sam kod php, ktory znajduje sie w plikach:
index.php:
  1. <?php
  2. if($_SESSION['zalogowany']){
  3. header('Location: main.php');
  4. }
  5. include("classes.php");
  6.  
  7. switch($_GET['page']){
  8. case "":
  9. include('start.php');
  10. break;
  11. case "start":
  12. include('start.php');
  13. break;
  14.  
  15. case "rejestracja":
  16. include('rejestracja.php');
  17. break;
  18.  
  19. case "forum":
  20. include('forum.php');
  21. break;
  22.  
  23. case "pomoc":
  24. include('pomoc.php');
  25. break;
  26.  
  27. case "screens":
  28. include('screens.php');
  29. break;
  30. }
  31. ?>


main.php:
  1. <?php
  2.  
  3. include("classes.php");
  4.  
  5. if($_SESSION['zalogowany'] == false){
  6. header("Location: index.php");
  7. }
  8.  
  9. switch($_GET['page']){
  10. case "":
  11. include('main.php');
  12. break;
  13. case "main":
  14. include('main.php');
  15. break;
  16. }
  17. ?>



@edit
usunolem to "false" z main.php i chyba działa tongue.gif
hehe teraz to zauważyłem... Dzieki za pomoc. Dobra diagnostyka ("pewnie masz tam przekierowanie które się zapętlają.").
Dzieki i pozdro tongue.gif
Spawnm
brak session_start w main.php
klapaucius
kurcze mam dalej problem tym razem z sesją. Teraz np. chce wylogować i wklepuje taki kod:
  1. $_SESSION = array();

I wydaje mi sie ze nie dziala ta funkcja session_destroy(). Nawet na pewno nie działa, gdyż gdy zrobiłem coś takiego:
  1. $_SESSION = array();
  2. echo "usunieto";
  3. }else{
  4. echo "nie usunieto";
  5. }

to otrzymałem komunikat "nie usunięto". tylko dlaczego...?
Spawnm
Ale gdzie masz to destroy?
Przed destroy masz session_start ?
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.