Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przekierowanie po zalogownaiu
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mam taki formularz logowania:
  1. <form method="post" action="login.php">
  2. <table border="0" align="center">
  3. <tr>
  4. <td>Login: </td><td><input type="text" name="loginstr" size="30"/></td>
  5. </tr><tr>
  6. <td>Hasło: </td><td><input type="password" name="passwordstr" size="30"/></td>
  7. </tr><tr>
  8. <td><input type="hidden" name="pobierzs" value="<?echo $_GET['s'];?>"></td>
  9. <td><input type="submit" value="Zaloguj" name="submit" class="button"/></td>
  10. </tr>
  11. <tr>
  12. <td colspan="2" align="center">Jeśli nie pamiętasz hasła kliknij na link - <a href="?s=zarejestrujSie&amp;a=przypomnijHaslo">Przypomnij hasło !</a></td>
  13. </tr>
  14. </table>
  15. </form>

Jak zrobic różne przekierowanie w zależności od $_GET['s']?
Czyli, jezeli $_GET['s']==1 to na index.php, a jak $_GET['s']==2 to na katalog.php
MateuszS
nic trudnego

  1. if($_GET["s"]==1)
  2. header("Location: index.php");
  3. elseif($_GET["s"]==2)
  4. header("Location: katalog.php");
mortus
A nie lepiej zrobić w odnośniku tak:
  1. <a href="index.php?s=katalog">Katalog</a>
a w kodzie php np. tak:
  1. if(!isset($_GET['s']) || $_GET['s'] == '') {
  2. header("Location: index.php");
  3. } else {
  4. header("Location: {$_GET['s']}.php");
  5. }
Jeżeli nie zostanie podany w linku parametr s lub parametr s będzie pusty to przekieruje nas na index.php (jako domyślną stronę), a w przeciwnym przypadku na stronę, którą wywołał pośrednio link (w tym przypadku katalog.php). Taka konstrukcja opiera się tylko na jednym if-ie, w przeciwieństwie do konstrukcji wyżej.
EDIT:
@Bojakki: Ty musisz zmienić u siebie tego inputa:
  1. <input type="hidden" name="pobierzs" value="<?echo $_GET['s'];?>">
na takiego
  1. <input type="hidden" name="s" value="<?echo $_GET['s'];?>">
A w pliku login.php umieścić:
  1. <?php
  2. // proces logowania
  3. // ...
  4.  
  5. // przekierowanie
  6. if(!isset($_POST['s']) || $_POST['s'] == '') {
  7. header("Location: index.php");
  8. } else {
  9. header("Location: {$_POST['s']}.php");
  10. }
  11. ?>
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.