Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowanie w PHP
Forum PHP.pl > Forum > PHP
Mod4Tech
Witam mam 2 pytania;
1. jak można stworzyć przekierowanie w PHP na inna stronę z innej strony, ale żeby to przekierowanie nastąpiło kiedy użytkownik wybierze w downdroplist na jaką stronę chce i kliknie ok?
2. Co lepiej używać GET czy POST?

modern-web
1. przekierowanie tzn. link? bo ja przekierowanie tak pojmuję. chyba, że chodzi o automatyczne (np. po 5 sekundach).
2. $_POST[' '] smile.gif
Mod4Tech
1.Nie chodzi mi o link.
2.A w czym POST jest lepszy
modern-web
1. Więc powiedz co masz na myśli mówiąc "przekierowanie".
2. $_GET przekazywany jest przez link, natomiast $_POST jest ukryty w nagłówku HTTP dzięki czemu możesz przekazać większą ilość danych.


Cytat
POST

Gdy wysyłasz dane metodą POST do skryptu PHP, zostaną one umieszczone w tablicy $_POST, która jest tablicą superglobalną, czyli można się do niej odwołać w każdym miejscu kodu bez dodatkowych zabiegów. W wersjach PHP starszych. niż 4.1.0 tablica ta nosi nazwę $HTTP_POST_VARS. Metoda POST nie narzuca ograniczenia ilości przesyłanych danych, dla tego jest z powodzeniem stosowana w ogromnej większości formularzy na stronach WWW. Dodatkowym jej atutem jest fakt, że podczas wysyłania danych użytkownik nie może podejrzeć ich treści, jak to ma miejsce przy stosowaniu metody GET. Ta właściwość POST czyni ją najlepszym rozwiązaniem także przy przesyłaniu danych autoryzacyjnych. Metoda ta służy także do uploadowania plików.


GET

Dane uzyskane z formularza przy użyciu GET umieszczane są w tablicy $_GET, lub $HTTP_GET_VARS w wersjach PHP starszych, niż 4.1.0. Tablica ta także jest superglobalem. Metoda GET różni się od POST tym, że posiada ograniczenie ilości przesyłanych danych. Są one umieszczane w adresie docelowego dokumentu. Jeśli więc wyślesz zmienną $imie i $nazwisko do skryptu "skrypt.php" używając GET, to zawartość pola formularza zostanie przesłana w adresie: "skrypt.php?imie=wartosc&nazwisko=wartosc". Adres dokumentu został oddzielony od parametrów znakiem zapytania, a same parametry oddziela od siebie znak ampersand ("&"). Widać wyraźnie, że ilość danych przekazywanych metodą GET jest ograniczona maksymalną długością odnośnika do skryptu.
Mod4Tech
Źle sformułowałem pytanie. Nie chodzi mi o przekierowanie tylko o link, po prostu chce aby kiedy użytkownik kliknie ma zostać przeniesiony
modern-web
  1. echo "<a href="ADRES_DOCELOWY">TREŚĆ LINKU</a>";


Najprościej winksmiley.jpg
Oczywiście możesz dodać jeszcze class="", title="" itp... Wszystko zależy od Ciebie smile.gif
Mod4Tech
Więc spróbowałem z a href i nic. Mi nie chodzi o link(hiperłącze) ja chce aby jak ktoś wybierze coś downdroplist na przykład z pośród tych;
strona1.php
strona2.php
Jak wybierze np. srona1.php i naciśnie button "ok" to żeby od razu został przeniesiony. Próbowałem z form action ale jak wybiorę tą albo tamtą opcje i tak zostanie przeniesiony na ta samą stronę.
fr33d0m
  1. <?php
  2. if($_GET['strona']==wybierz){
  3. $str = $_POST['str'];
  4. if($str == 'str1'){
  5. header("Location: ./strona1.php");
  6. }
  7. if($str == 'str2'){
  8. header("Location: ./strona2.php");
  9. }
  10. }
  11. ?>
  12. <html>
  13. <form method="POST" action="./index.php?strona=wybierz">
  14. <input type="radio" name="str" value="str1" />strona 1
  15. <input type="radio" name="str" value="str2" />strona 2
  16. <input type="submit" value="ok">
  17. </form>
  18. </html>


edit:
@celbarowicz, imo moje rozwiązanie za pomocą $_GET jest bardziej przejrzyste winksmiley.jpg
celbarowicz
Dlaczego bawisz się BUTTONEM skoro modern-web napisał Tobie co masz zrobić. Klikaj w odnośnik-link.

jeszcze inaczej? plik mx.php
  1. <html>
  2. <body>
  3. <form method="post" action="mx.php" >
  4. <?php if(!isset($_POST['dalej'])){$_POST['dalej']='mx.php';}
  5.  
  6. if( $_POST['dalej']!='mx.php')
  7. {
  8.  
  9. $a=$_POST['dalej'];
  10.  
  11.  
  12. header('location:'.$a);
  13.  
  14. }
  15. ?>
  16. <select name="dalej" >
  17. <option value="strona1.php">strona1</option>
  18. <option value="strona2.php" >strona2</option>
  19. <option value="strona3.php ">strona3</option>
  20. </select>
  21. <input type="submit" value="OK">
  22. </form>
  23. </body>
  24. </form>
  25.  
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.