Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Trzymanie przechwyconej sesji
darney
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


Witam.
Wiem że ten temat był poruszany ale nie znalazłem kompletnego wyjaśnienia jaką metode zastosować. Tłumacze już o co chodzi.

Chodzi o powrót do strony na której byliśmy kiedy zostaliśmy poproszeni o zalogowanie

User chce wejść ze strony nauka.php w odpowiedni dzial np nauka.php?lekcja=1;
Skrypt przenosi do login.php prosi o zalogowanie się więc w formularzu tworze ukryte pole
hidden gdzie trzymam tam $_SERVER['HTTP_REFERER'];

Wszystko działa wyśmienicie po zalogowaniu ustawiłem sobię header który przenosi mnie do poprzedniej strony nauka.php?lekcja=1;

Problem który mam i chce rozwiązać i czytałem też że to nie takie proste. Mianowicie

Kiedy popełnimy bład w formularzu strona się przeładuje i w hidden polu znajdzie sie wartość adresu czyli strony logowania login.php

Pytanie jest takie. W jaki sposób zmusić za pomocą sesji do zapamiętania na stałe jednorazowego adresu by nie tracić go przy nieudanym logowaniu.

Ten post edytował darney 25.01.2012, 14:52:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


  1. <?php
  2.  
  3.  
  4. if(!isset($_SESSION['zalogowany']))
  5. {
  6. $_SESSION['zalogowany'] = 0;
  7. }
  8.  
  9. if(1 == $_SESSION['zalogowany'])
  10. {
  11. header('Location: /');
  12. }
  13.  
  14. if(!isset($_SESSION['ref']))
  15. {
  16. if(empty($_SERVER['HTTP_REFERER']))
  17. {
  18. $_SESSION['ref'] = '/'; //przekierowanie na główną jeżeli referer jest pusty
  19. } else
  20. {
  21. $_SESSION['ref'] = $_SERVER['HTTP_REFERER'];
  22. }
  23. }
  24.  
  25. if('POST' == $_SERVER['REQUEST_METHOD'])
  26. {
  27. //poprawne logowanie
  28. $_SESSION['zalogowany'] = 1;
  29. //..
  30.  
  31.  
  32. //przekierowanie
  33. $ref = $_SESSION['ref'];
  34. unset($_SESSION['ref']);
  35.  
  36. header('Location: '.$ref);
  37. }


Przykład, dla zobrazowania jak mógłbyś to zrobić.

Ten post edytował by_ikar 26.01.2012, 09:12:41
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 15:15