Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $_GET i $_POST
Forum PHP.pl > Forum > Przedszkole
mika
Witam, czy ktos moglby mi wyjasnic roznice miedzy tymi metodami i jednoczesnie wyjasnic dlaczego GET stosuje sie w URL a nie w formularzach a dlaczego POST w formularzach a nie w URL? wiem ze GET pokazuje dane w adresie URL a post to metoda bardziej poufna ale dlaczego nie mozna tych metod stosowac wymiennie?
dr_bonzo
Cytat
dlaczego GET stosuje sie w URL a nie w formularzach a dlaczego POST w formularzach a nie w URL?

Po prostu tak to zostalo zrobione, taka jest specyfikacja.

Jesli dane przekazujesz URLem to odbierzesz je tylko w $_GET.

Jesli formularzem: to GET lub POST w zaleznosci od wartosci atrybutu method
  1. <form action="..." method="get">... $_GET
  2. <!-- LUB -->
  3. <form action="..." method="post">... $_POST


mozna uzyc tez obu metod na raz
  1. <form action="jakisPlik.php?zmienna=wartosc" method="post">
  2. <input type="text" value="name" />

i teraz:
'zmienna' jest w $_GET['zmienna']
'name' jest w $_POST['name']


Przenosze: php --> Przedszkole
konys
Zarówno GET jak i POST można stosować w formularzach (poprzez określenie metody formularza), jednak GET zostanie przekazane w adresie strony, zaś POST w nagłówku. Do przekazania większej ilości danych nadaje się jedynie POST (GET może zostać obcięte przy długich wpisach). Poza tym php umożliwia odwołanie do zmiennej znajdującej się w dowolnej z tablic $_GET, $_POST, $_COOKIE poprzez tablicę $_REQUEST.
Radarek
No istotny fatk jest taki, ze link do ktorego doczepione sa dane w URL (metoda GET) mozesz skopiowac koledze. Przy metodzie POST tego nie zrobisz (dlatego logowanie jest metoda POST anie GET zebys nie wyslal koledze takiego linka smile.gif).
dr_bonzo
Cytat
Do przekazania większej ilości danych nadaje się jedynie POST
^^ to jest wazna kwestia.

Co do $_REQUEST -- nie polecam, bo nie wiesz skad przyszly dane -- z GET'a czy z POSTa -- wszystkie zmienne z $_GET i $_POST sa wymieszane i moga zostac nadpisane (np. gdy uzyjesz tej samej nazwy zmiennej w URLu i formularzu, cookie).
mike
Ja róznież odradzam $_REQUEST to jest jeden z najbardziej głupich pomysłów w php.
Chcieli sobie ułatwić robotę izrobili tylko "możliwość popełniania" dziur i złego kodu smile.gif

Bo skoro ma się do dyspozycji tablice superglobalne $_GET, $_POST, ... i są one między innymi po to by odróżnić metodę przesyłania danch, to istnienie $_REQUEST jest co najmniej niewytłumaczalne :/
mika
dzieki za odpowiedzi:))
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.