Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Logowanie i odswiezanie
glizda1125
post 17.10.2007, 14:01:25
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.09.2007

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


Witam

Na poczatku zaznacze ze przeczytalem chyba wszystkie posty z forum o odswiezaniu ale nic nie znalazlem albo cos przeoczylem.
Problem wyglada astepujaco:

Nie wiem w czym moze siedziec problem wiec przedstawie wszystko od poczatku.
Struktura mojej strony wyglada tak ze mam plik index.php a w nim linki do:
Kod
index.php?id=a
index.php?id=b
....
index.php?id=x

nastepnie mam w funkcji switch w zaleznosci jaka bedzie koncowka w linku bedize robil:
  1. <?php
  2. include('jakistamplik.php');
  3. ?>


Napisalem proste logowanie na sesjach. Poz prawidlowym wpisaniu logina i hasla skrypt robi:
  1. <?php
  2. $_SESSION['zalogowany']='ok';
  3. ?>

Na poczatku pliku index.php mam:
  1. <?php
  2. ?>

W plikach ktore pobieram przez include i che ograniczyc logowaniem dopisalem:
  1. <?php
  2. if($_SESSION['zalogowany'] == 'ok')
  3. {
  4. wyswietl strone
  5. } 
  6. else 
  7. {
  8. echo &#092;"Musisz sie zalogować!
  9. &#092;";
  10. include ('login.php');
  11. }
  12. ?>

Problem pojawia sie nastepujaco ze po odpaleniu stronu np przed logowaniem oczywiscie nie mam dostepu do plikow i wyskakuje mi ze musze sie zalogowac. Po zalogowaniu jak klikne na jakis link dalej nie moge wejsc. Dopiero jak dam F5 to wczytuje mi jeszcze raz sesje i zaczyna dzialac. Podobnie jest jak sie wyloguje to klikne na link np:
Kod
index.php?id=admin

ktory includuje do pliku index.php jaies tam plik np admin.php. Powinno oczywiscie wyskoczyc ze musze sie zalogowac no ale wszystko dziala tak jak bym dalej byl zalogowany. Dopiero po F5 zaczyna dzialac wylogowywanie.

Probowalem wstawiac w index.php jak i w includowanych plikach:
  1. <?php
  2. header(&#092;"Pragma: no-cache, must-revalidate\");
  3. ?>

ale nic nie pomoglo.
Nie wiem gdzie jest problem czy po stronie skryptu czy moze po stronie zle ustawionego serwera bo po zalogowaniu sie skrypt tworzy sesje a po w
logowaniu niczszy ja tylko nie wiem jak zrobic zeby po zalogowainu odswiezal cal
 strone.

Pozdrawiam

Ten post edytował glizda1125 17.10.2007, 14:03:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Cezar708
post 17.10.2007, 14:15:36
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


nie wiem co jest grane, ale na samym początku sprawdź,

1. czy problem pojawia się pod każdą przeglądarką czy pod jakąś konkretną (bo to wygląda mi na IE)
2. Co pokazuje error_log (może `Header already sent...`)
3. jeśli pkt 2. to usuń wszelkie spacje sprzed session_start()
Go to the top of the page
+Quote Post
glizda1125
post 17.10.2007, 14:23:48
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.09.2007

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


No to trafiles w 10. Pod opera wszystko smiga jak trzeba no ale teraz mam pytanie jak zrobic  to zeby w IE wszystko dzialalo?
Go to the top of the page
+Quote Post
tommy4
post 17.10.2007, 14:45:14
Post #4





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

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


przed wysłaniem jakichkolwiek danych, a po ustawieniu cookiesów, sesji czy czegokolwiek musisz wywołać header('Location: index.php');, żeby przeglądarka sobie wszystko ustawiła (czyli tak jakby php wykonuje samo za ciebie naciśnięcie F5).
Go to the top of the page
+Quote Post
glizda1125
post 18.10.2007, 07:15:53
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.09.2007

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


Cytat(tommy4 @ 17.10.2007, 15:45:14 ) *
przed wysłaniem jakichkolwiek danych, a po ustawieniu cookiesów, sesji czy czegokolwiek musisz wywołać header('Location: index.php');, żeby przeglądarka sobie wszystko ustawiła (czyli tak jakby php wykonuje samo za ciebie naciśnięcie F5).


Po wpisaniu tego strona warjuje, wyglada to tak jak by caly czas prubowal sie odswierzyc od nowa i nic nie pokazuje. sad.gif
Go to the top of the page
+Quote Post
verox
post 18.10.2007, 19:13:11
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 16.10.2007

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


na poczatku pliku daj session_start(); jesli masz w roznych plikach te skrypty
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: 20.07.2025 - 07:14