Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z przekierowaniem.
klapaucius
post 1.01.2011, 21:36:08
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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....
Go to the top of the page
+Quote Post
Spawnm
post 1.01.2011, 21:41:15
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Pokaż main.php oraz resztę kodu z obecnego pliku, pewnie masz tam przekierowanie które się zapętlają.
Go to the top of the page
+Quote Post
klapaucius
post 1.01.2011, 21:50:00
Post #3





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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

Ten post edytował klapaucius 1.01.2011, 21:54:17
Go to the top of the page
+Quote Post
Spawnm
post 1.01.2011, 21:53:17
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




brak session_start w main.php
Go to the top of the page
+Quote Post
klapaucius
post 1.01.2011, 22:20:51
Post #5





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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...?
Go to the top of the page
+Quote Post
Spawnm
post 1.01.2011, 22:49:58
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Ale gdzie masz to destroy?
Przed destroy masz session_start ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:59