Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przekierowanie
devbazy
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 10.08.2009

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


Witam tutejszą społeczność

Od jakiegoś już czasu nurtuje mnie jedno zagadnienie, a mianowicie przekierowanie, którego zadaniem jest przeniesienie użytkownika na wybraną przez niego stronę, po ówczesnym zalogowaniu. Nie chodzi mi tutaj wcale o header("location: strona.php"), a coś całkowicie odmiennego - być może z tym związanego, nie wiem. Zasadę działania wytłumaczę na prostym przykładzie. Dany użytkownik próbuje wejść na stronę dostępną tylko dla zalogowanych - w adresie wpisuje: www.dana-strona.pl/index.php?strona=panel - po wykonaniu takowej operacji następuje przekierowanie do formularza logowania, jednak adres strony nieco się zmienia: www.dana-strona.pl/index.php?strona=logowanie&next=panel. Wpisując poprawne dane w formularzu przenosi nas do pierwotnie wpisanego adresu: www.dana-strona.pl/index.php?strona=panel. Mógłby mi ktoś pojętny wytłumaczyć na jakiej zasadzie to działa. Z góry dzięki za jakąkolwiek pomoc.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
devbazy
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 10.08.2009

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


Cytat(potreb @ 15.09.2009, 22:36:32 ) *
Taka sprawa a tak długie pytanie


Mogłem napisać to prościej, ale czy aby na pewno wszyscy zrozumieliby o co mi dokładnie chodzi? Tego pewien być nie mogłem, dlatego wolałem umieścić większość informacji w jednej wypowiedzi, niżeli później to wszystko upraszczać, wyjaśniać. Fantazyn, Twoje rozwiązanie okazało się skuteczne, a myślałem, że okaże się to trudniejsze, dzięki za pomoc. Temat można oczywiście zamknąć.

----------------------------

Otóż mam kolejny problem. Chciałem zastosować pewną regułkę w pliku .htaccess, by URL wyglądał nieco lepiej, ale niestety wygląda na to, że po wykonaniu tej czynności - tablica $_GET nie przekazuje żadnej wartości.

Wygląda to mniej więcej tak (pokaże to na wcześniejszym przykładzie podanym przez Fantazyna):

Dana osoba wchodzi na stronę: www.dana-strona.pl/panel/informacje/

  1. if($_SESSION['logged']) // jakiś warunek na sprawdzenie czy user jest zalogowany
  2. {
  3. //jak jest zalogowany to pozostaje na tej stronie
  4. }
  5. else {
  6. //a jak nie to wywala go do logowania
  7. header("location: www.dana-strona.pl/logowanie/?next=/panel/info/");
  8. }


Logujemy się...

  1. 1.
  2. if (user i hasło jest dobre) // logujemy sie i jest ok
  3. 2.
  4. {
  5. 3.
  6. if(isset($_GET['next'])){ //jest ustawione przekierowanie do którego ma wrócić user
  7. 4.
  8. header("location: www.dana-strona.pl".$_GET['next']); //powinno przejść na stronę: www.dana-strona.pl/panel/info/ - jednak wygląda na to, że $_GET niczego nie przekazuje
  9. 5.
  10. 6.
  11. }
  12. 7.
  13. // tu coś się robi jak user zalogował się, ale nie przyszedł z żadnej strony
  14. 8.
  15. }
  16. 9.
  17. else {
  18. 10.
  19. // nie zalogował się poprawanie
  20. 11.
  21. }


Tak to wygląda w pliku .htaccess

  1. RewriteRule ^logowanie/?next=/([^-]+)/?$ ?strona=logowanie&next=$1 [L]


Liczę na jakieś wskazówki. Wiem, że mogłem namieszać. Kombinuje już z tym dłuższy czas i nie mogę wymyślić jakiegoś sensownego rozwiązania.

Odświeżam temat.

Ten post edytował solid23 9.11.2009, 19:11:24
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: 12.10.2025 - 14:15