Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header("Location:") + komunikat
Forum PHP.pl > Forum > PHP
sebian
Witam.

Mam sobie funkcję:

  1. function zaloguj()
  2. {
  3. // utworzenie krótkich nazw zmiennych
  4. $nazwa_uz = $_POST['nazwa_uz'];
  5. $haslo = $_POST['haslo'];
  6. if ($nazwa_uz && $haslo)
  7. // właśnie nastąpiła próba logowania
  8. {
  9.  
  10. if(loguj($nazwa_uz, $haslo))
  11. // jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
  12. $_SESSION['prawid_uzyt'] = $nazwa_uz;
  13. header("Location: index.php");
  14. echo 'udalo sie';
  15. }
  16. else
  17. {
  18. echo 'Zalogowanie niemożliwe';
  19. }
  20. }


Wywoływaną w taki sposób:

  1. function content()
  2. {
  3. if(!isset($_GET['show']))
  4. {
  5. $_GET['show'] = 'index';
  6. }
  7. switch($_GET['show'])
  8. {
  9. // logowanie
  10. case 'zaloguj':
  11. zaloguj();
  12. break;
  13.  
  14. }
  15. }


I teraz pytanie, jak wykombinowac aby po zalogowaniu automatycznie przeszedł do index.php i wyświetlił komunikat "udało się"?
Bo na ta chwile jest tak że user sie loguje ale pozostaje na stronie index.php?show=zaloguj i w polu gdzie ma sie pojawic "zalogowany jako: user nadal widnieje zaloguj, dopiero po odświerzeniu strony jest tak jak powinno być. jak widac przekierować do indexu to nie problem po zalogowaniu "header("Location: index.php");" ale o komunikacie juz mogę zapomnieć.
Jakas mała podpowiedz?

nospor
zamiast:
header("Location: index.php");
daj:
header("Refresh: coś tam");
Określasz tam ilośc sekund po jakich zostanie zrobione przekierowanie. W manualu w header() w komentach masz to wyjaśnione
sebian
Działa, z tym ze bardziej zależy mi na odwrotnym efekcie, najpierw przekierowanie na index.php i tam dopiero komunikat "udało sie".
nie koniecznie mysi byc to header(); może byc to inny mechanizm z tym ze nie mam na to pomysłu jak to wykonać. podobnie jest w wylogowywaniem usera z tym ze chciałbym komunikat o wylogowaniu w index.php moze jakas krótka funkcja?! masz pomysł jakiś jak to rozwiązac...?

PS. czytałem na twoim blogu o przyjaznych URL-ach i będę chciał je zastosowac ale czy będę mógł to zrobić przy takim mechaniżmie wywoływaniu funkcji jaki ja używam?
nospor
No to komunikat przed przekierowaniem musisz zapisać do sesji, a po przekierowaniu odczytać z sesji po czym od razu go z sesji skasować by już się nie pałętał pod nogami.

Cytat
PS. czytałem na twoim blogu o przyjaznych URL-ach i będę chciał je zastosowac ale czy będę mógł to zrobić przy takim mechaniżmie wywoływaniu funkcji jaki ja używam?
Zapewne tak.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.