Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja redirect
user767
post
Post #1





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


Jak wykonać funkcję redirect() w php ?

Tzn. zalogowałem się poprzez kontroler UserLoginController i jestem w pliku login.php chce po zalogowaniu przejść na stronę np. index.php.

Dane złapane po drodze trzeba zapisać w sesji, ale czy do przekierowania użyć tylko funkcji header ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Spawnm
post
Post #2





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




header('location: index.php') w 100% wystarczy.
Go to the top of the page
+Quote Post
user767
post
Post #3





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


Mam dwa pytania :

1 Jaki jest najlepszy sposób na sprawdzenie, czy użytkownik jest zalogowany ? Nie wystarcza mi porównanie zmiennych sesyjnych lub sprawadzenie czy istnieją.

2. Gdzie należy wysyłać formularze ? Jeśli wyślę do login.php a tam mam 3 lonijki kodu gdzie wczytuje kontroler to jest to dobre ?
Go to the top of the page
+Quote Post
adbacz
post
Post #4





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


1. A jak masz wykonane logowanie? Tylko na sesjach czy dodatkowo coś, np ciacha lub DB?

2. Jakie formularze? Logowania, komentowania, rejestracji?
Go to the top of the page
+Quote Post
doogi
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 5
Dołączył: 9.04.2008

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


Cytat(Spawnm @ 1.09.2011, 20:17:25 ) *
header('location: index.php') w 100% wystarczy.

oczywiście Google z Chrome musiało się wyłamać i dla tej przeglądarki potrzeba trochę więcej zachodu:/

Cytat
I've just discovered that Chrome doesn't perform a Location: instruction unless it gets a Status: first. It's also sensitive to capitalisation.

<?php

header("Status: 200");
header("Location: /home.php");
exit;

?>


[źródło]
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
header('location: index.php') w 100% wystarczy.
Nie, nie wystarczy. W PHP nie da się wykonać przekierowania. Można co najwyżej poprosić klienta, czyli mnie, a dokładniej to przeglądarkę, by przeniosła mnie w inne miejsce. Tak więc wysyłając nagłówek Location powinieneś również zaserwować normalną treść, chociażby z informacją i linkiem gdzie należy się udać.
Go to the top of the page
+Quote Post
cer98
post
Post #7





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 17.07.2011

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


Crozin tworzę teraz panel admina i główkuję, jak dać znać routerowi, że to admin ?

Normalnie wycinam wszystko, co zbędne razem z admin.php i index.php przed dekodowaniem i zostaje mi moduł i akcja i parametry.

Czytałem, że każdy moduł posiada mini router, czy powinienem przekazywać dwa parametry url i stronę ?

Jak wygląda twoje przekierowanie np. po zalogowaniu, czyli wywołaniu kontrolera i wczytaniu sesji, cookies ? Ja np. wysyłam na stronę login.php i tam uruchamiam kontroler. Mam dwie metody run() i redirect(). Jeśli ktoś mi wejdzie z adresu na login.php to sprawdza, czy jest zalogowany i mogę wstawić np. panel użytkownika, prośbę o rejestrację.

dzięki
Go to the top of the page
+Quote Post

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: 22.08.2025 - 14:18