Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]przekierowanie
Forum PHP.pl > Forum > Przedszkole
Michal_Sz
Witam
Czy istnieje sposób na to aby użytkownik został przeniesiony na poprzednią podstronę, którą oglądał? Jeśli tak to prosze o jakieś wskazówki
Pozdrawiam
Foxx
Po podjęciu jakiejś akcji?
Jeżeli nie, możesz użyć header()" title="Zobacz w manualu PHP" target="_manual
Michal_Sz
W skrócie chodzi mi o to że, kiedy użytkownik źle wypełni formularz, powinno go przekierować spowrotem do formularza, a kiedy użyje 'header' to owszem przekieruje, ale wyczyści formularz, a chodzi o to żeby dane które wpisał użytkownik tam pozostały...
Foxx
Więc może zrób tak, że formularz prześle dane do tej samego siebie ( action=""), a na początku tego pliku zrób mniej więcej tak:
  1. <?php
  2. if(empty($_POST['login'])){ // i inne kontrole, których potrzebujesz
  3.  $komunikat = "nie podano loginu"; 
  4. } else {
  5.  // wszystko co ma nastąpić po poprawnym logowaniu
  6.  header("Location: gdzies.php");
  7. }
  8.  
  9. // poniżej wyświetlanie komunikatu i formularz
  10. ?>


a w polach formularza dodaj value="<?=$_POST['nazwaPola']?> żeby nie tracić tego co zostało wpisane.
Michal_Sz
Dziękuje...chyba wiem o co Ci chodzi...jak rozumiem w polu 'action' ma być adres formularza do którego mam przesyłać dane najlepiej w polach z atrybutem 'hidden'...tylko jak to odbierać w tym formularzu, czy to się dzieje automatycznie? Przepraszam jesli coś pokręciłem ale jeszcze nie zawiele wiem o tym...
Pozdrawiam
Foxx
Niezupełnie, wykonaj sobie coś takiego:

  1. <?
  2. if(!empty($_POST['submit'])){
  3.  print_r($_POST);
  4. }
  5.  
  6. ?>
  7. <form action="" method="POST">
  8.  <input name="pole" value="<?=$_POST['pole']?>">
  9.  <input name="pole2" value="<?=$_POST['pole2']?>">
  10.  <input name="submit" type="submit" value="submit">
  11. </form>


Jeżeli w formularzu parametr action wygląda tak jak w tym przykładzie to znaczy że dane mają zostać wysłane do tego samego pliku a Ty je możesz skontrolować, zrobic z nimi co chcesz a potem zrobić header() gdzie chcesz.

Dodatkowo jeżeli dodasz value do pól tak jak to zrobiłem, wtedy nie stracisz już wpisanych danych.
Michal_Sz
Ok teraz już rozumiem...
Wielkie dzięki za pomoc...
Pozdrawiam...
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.