DZWON

Są tacy, którzy czytają tę wiadomość przed wami.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

Łączy ich to, że działają w ten sam sposób. Technicznie nie ma między nimi różnicy. Ale są różnice ideologiczne.

Omówię je w kontekście PHP. Należy pamiętać, że protokół HTTP jest pośrednio powiązany z PHP, ponieważ został stworzony do wymiany stron html, a PHP po prostu rozszerza możliwości obu.

Żądanie GET służy do odbierania danych i POST do wysyłania. (Pamiętaj, że technicznie działają w ten sam sposób).

Dlatego w kontekście PHP, opierając się na tej ideologii, zrobili co następuje:
1. Tablice superglobalne ($ _GET, $ _POST) są tworzone domyślnie przy każdym uruchomieniu PHP.
2. Jeśli w ciągu zapytania znajduje się znak zapytania (?). Potem wszystko, co się po nim liczy parametry GET żądanie, są prezentowane w formacie „klucz” \u003d „wartość”, a znak ampersand (&) jest używany jako separator
Przykład:
POBIERZ /index.php?name\u003dAndrey&s Nazwisko\u003dGalkin
to jest ciąg zapytania, są 2 parametry. te parametry znajdą się w tablicy $ _GET.
3. $ _POST jest wypełniane w inny sposób. zawartość tej tablicy jest zapełniana z „nagłówków żądań”. Oznacza to, że z miejsca niewidocznego w wyraźnej formie. Przeglądarka zajmuje się całą procedurą tworzenia takich nagłówków. Chociaż czasami coś jest edytowane ręcznie w nagłówkach.

Najczęściej żądanie pocztowe wykorzystywane jest w formularzach (do podania danych).

Na przykład mamy formularz logowania 2 pola login i hasło.

Wyobraźmy sobie, że używamy metody GET. Następnie podczas wysyłania formularza przejdziemy na adres /login.php?login\u003dAndrey&password\u003d123 zgadzamy się, że przekazywanie takich informacji w ten sposób nie jest wcale bezpieczne. Każdy może otworzyć przeglądarkę i zaczynając wpisywać adres strony, może zobaczyć Twoje hasła i loginy z historii.

Ale jeśli określimy metodę POST, otrzymamy następujące żądanie:
POST /login.php (login \u003d Andrey & password \u003d 123) co byłoby ukryte w nawiasach i nie zapisane w przeglądarce.

Podsumowując:
GET polega na uzyskaniu określonej strony w określony sposób (sortowanie, bieżąca strona bloga, ciąg wyszukiwania itp.).
POST - do wysyłania danych, które nie mają wpływu na wyświetlanie strony, w tym sensie, że dane te wpływają tylko na wynik wykonania skryptu (loginy, hasła, numery kart kredytowych, wiadomości itp.).

I jeszcze jedna dobra wiadomość, na przykład można je łączyć
POST /index.php?page\u003dlogin (login \u003d Andrey & password \u003d 123) Myślę, że już wystarczająco wyjaśniłem, co z tego wyniknie i jakie parametry zostaną uwzględnione w której tablicy.

Stosowanie metod GET i POST w PHP jest trudne do przecenienia, ponieważ metody te można znaleźć w prawie każdej witrynie. Przed zapoznaniem się z materiałem opisanym poniżej radzę zapoznać się z tagiem html

... Przyjrzyjmy się szczegółowo każdej z tych metod.

GET metoda

Metoda GET używa ciągu adresu URL do przekazywania danych. Być może zauważyłeś długie i niejasne adresy URL. Na przykład: function.php? login \u003d Alex & email \u003d dezyakin... W takim przypadku dane są przetwarzane w pliku function.php. Po znaku zapytania „?” Następuje wyliczenie przesyłanych parametrów (parametr oddzielony jest znakiem „&”) z wartościami: parametr login ma przypisaną wartość Alex, a zmienna e-mail to dezyakin. Dane będą przechowywane w superglobalnej tablicy $ _GET. Przykład zastosowania metody GET przedstawiono poniżej:

Zaloguj sie: E-mail: Korzystając z tablicy superglobalnej $ _GET, wyświetlamy akceptowane wartości:* / Echo "
login \u003d ". $ _GET [" login "]; echo"
email \u003d ". $ _GET [" email "];?\u003e

Zwróć uwagę, jak odczytujemy wartości z tablicy superglobalnej $ _GET: $ _GET ["nazwa_zmiennej"]... W naszym przykładzie nazwy zmiennych zostały zadeklarowane w postaci (nazwa \u003d login i nazwa \u003d email).

Rada:
Przed przetworzeniem otrzymanych wartości radzę sprawdzić ich istnienie za pomocą funkcji isset (nazwa_zmiennej) lub puste (nazwa_zmiennej) - funkcje te zostały omówione w poprzedniej lekcji 2: zmienne w PHP. Na przykład:

sprawdzanie istnienia za pomocą isset: if isset ($ _GET ["login"]) ( operatorzy do obsługi logowania ... } //lub sprawdź istnienie używając pustego: jeśli puste ($ _GET ["email"]) ( operatorzy do przetwarzania poczty elektronicznej ... } ?>

W formularzu możesz określić nazwę pliku, który będzie przetwarzał przekazane wartości. Odbywa się to za pomocą atrybutu akcji formularza, któremu można przypisać adres tego pliku. Domyślnie ten plik jest przypisany do pliku bieżącego (tj. Przetwarzany w pliku, w którym znajduje się formularz). Oto przykład, w którym dane z formularza są wysyłane do przetworzenia do pliku srcipt.php:

Zaloguj sie: E-mail:

Plik script.php musi zawierać jakiś rodzaj obsługi informacji, w przeciwnym razie informacje zostaną przekazane do pustego.

Metoda GET ma wiele wad:

  • Użytkownik widzi wartości przekazanych parametrów;
  • Użytkownik może łatwo sfałszować przekazane parametry;
  • Niewygodne przesyłanie informacji binarnych (musisz zakodować w formacie tekstowym);
  • Ilość przesyłanych danych jest ograniczona - 8 KB;

Z uwagi na powyższe wady metodę GET stosuje się tylko w przypadkach, gdy trzeba przesłać niewielką ilość danych, a dane te nie są w żaden sposób klasyfikowane.

Metoda POST

Metoda POST różni się od GET tym, że dane są przesyłane w formie zamkniętej. Istnieje superglobalna tablica $ _POST, z której można odczytywać takie dane: $ _POST ["nazwa_zmiennej"]... Na przykład:

Zaloguj sie: "\u003e E-mail: ">
Używając tablicy superglobalnej $ _POST, wypisz akceptowane wartości:* / Echo "
login \u003d ". $ _POST [" login "]; echo"
email \u003d ". $ _POST [" email "];?\u003e

Wynik wykonania powyższego kodu przedstawia poniższy rysunek:

Jak widać, adres URL nie ma postscriptum, ale mimo to dane zostały odebrane i wyświetlone.

Uwaga:
1) Wielkość przesyłanych wartości metodą POST jest domyślnie ograniczona i wynosi 8 MB. Aby zwiększyć tę wartość, musisz zmienić dyrektywę post_max_size w php.ini.

2) We wcześniejszych wersjach PHP zamiast krótkich nazw tablic superglobalnych $ _GET i $ _POST używane były dłuższe nazwy: $ HTTP_GET_VARS i $ HTTP_POST_VARS. Są one domyślnie wyłączone w php 5, ale możesz je włączyć w pliku konfiguracyjnym php.ini za pomocą parametru register_long_arrays. W php 6 te długie nazwy nie będą dostępne.

3) Przed przetwarzaniem zmiennych z $ _POST radzę sprawdzić zmienne pod kątem ich obecności, tak jak to zrobiono z metodą GET.

Etykietka

- jeden z najważniejszych elementów każdej witryny. Zawiera wszystkie elementy - pola, przyciski, pola wyboru, przyciski opcji i inne.

Działanie i metoda

Forma ma wiele atrybutów, ale najważniejsze i wymagane są i ... W przypadku braku tych atrybutów formularz nie zaakceptuje wprowadzonych wartości.

Atrybut akcji

- atrybut określający łącze do procedury obsługi wartości. Oznacza to, że element określony w , przetworzy wartości formularza. Jeśli tego nie określisz, wszystkie wartości powrócą do pierwotnej wartości, odświeżając stronę.

Możesz podać ścieżkę „form.html”, ale częściej używane są programy obsługi napisane w języku „php (form.php)”. Może również istnieć taka opcja, że \u200b\u200bstrona, na której znajduje się formularz, sama przetwarza wartości i jest napisana w języku php. W takim przypadku możesz pominąć atrybut .

Ponadto adres e-mail może służyć jako program obsługi. Aby zapisać go w atrybucie action, używane jest słowo kluczowe mailto:, które określa nazwę adresu e-mail.

Jeśli do wysyłania używasz poczty e-mail, po aktywacji otworzy się standardowy program systemu Windows.

Atrybut metody

- odpowiada za sposób przetwarzania wartości. Gdy formularz zostanie aktywowany, określona metoda zostanie przekazana do serwera i następnie przetworzona zgodnie z nią.

Wszystkie metody przetwarzania 2 - i Są to wartości atrybutu.

Każdą z wartości można wpisać zarówno dużymi, jak i małymi literami. To nie ma znaczenia.

GET metoda

Jest to najczęściej używana metoda protokołu HTTP. Pobiera wszystkie dane formularza, przetwarza je, a następnie wyświetla na pasku adresu.

Ta metoda jest bardzo wygodna, ponieważ pozwala zmienić otrzymane wartości w ciągu przeglądarki. Można do niego również wielokrotnie odwoływać się.


Zła strona używania to zmniejszone bezpieczeństwo i ograniczona ilość przetwarzanych danych. Ma to zły wpływ na bezpieczeństwo, ponieważ wszystkie wprowadzone wartości są wyświetlane na pasku adresu.

Nie używać do tworzenia formularzy z informacjami poufnymi. Takie formularze mają zwiększone prawdopodobieństwo włamania.

Metoda POST

Używane rzadziej niż ... Przekazuje również wartości formularzy, ale nie wyświetla ich w pasku adresu, co poprawia ogólne bezpieczeństwo witryny. Z tego powodu lepiej nadaje się do użytku w aplikacjach internetowych.

metoda Pozwala przesłać więcej informacji niż ... Można przesyłać małe pliki tekstowe do 4KB.

Więcej informacji sprawia, że \u200b\u200bjest on bardziej odpowiedni dla większych forów i usług pocztowych. Lepiej nadaje się do pracy z bazami danych.

Przetwarzane wartości są zapisywane raz, a następnie pozostają niezmienione. Oznacza to, że nie możesz odwoływać się do tego samego adresu nieograniczoną liczbę razy, jak w przypadku korzystania z metody .

Wniosek

Z tego artykułu dowiedziałeś się więcej o atrybutach tagu formularza, a także o wartościach i Oczywiście to nie wszystkie informacje o ich funkcjach. Możesz dowiedzieć się więcej o ich pracy, ucząc się PHP.

Możesz szczegółowo zrozumieć te metody, studiując dodatkowe informacje. Powodzenia w nauce!

Dzisiaj chciałem trochę zagłębić się w prymitywne rzeczy i opisać to, co można znaleźć w sieci WWW w dużych ilościach i bez większych trudności. Praktycznie będzie o świętości protokołu HTTP: żądaniach POST i GET.

Wielu zapyta, dlaczego? Odpowiem krótko i jasno: nie każdy wie, co to jest i dlaczego jest potrzebne, a ci, którzy chcą o tym wiedzieć (choć niewiele o tym rozumieją) często nie rozumieją, co piszą w wielu, wielu artykułach poświęconych temu tematowi. Postaram się wytłumaczyć na palcach, czym są żądania POST i GET i czym są zjadane.
Zacznijmy więc naszą podróż do bajki ...
Jeśli czytasz tę wiadomość, to przynajmniej wiesz, jak wygląda Internet i czym jest witryna internetowa. Pomijając wszystkie subtelności sieci WWW, będziemy operować takimi pojęciami, jak użytkownik i witryna. Cokolwiek można powiedzieć, te dwa podmioty muszą w jakiś sposób ze sobą współdziałać. Na przykład ludzie komunikują się ze sobą za pomocą gestów, emocji i mowy, zwierzęta wydają jakieś dźwięki, ale co się dzieje, gdy osoba i zasób internetowy „komunikują się”? Mamy tutaj przypadek wymiany informacji, który można przenieść na rozmowę ludzką planu „Pytanie-odpowiedź”. Ponadto zarówno użytkownik, jak i witryna mogą zadawać pytania i odpowiedzi. Kiedy mówimy o witrynie, jej pytania i odpowiedzi z reguły są zawsze wyrażane w formie strony internetowej z takim lub innym tekstem. Jeśli chodzi o użytkownika, wszystko dzieje się tutaj dzięki żądaniom GET i POST (oczywiście nie tylko, ale o nich mowa).

W ten sposób dowiedzieliśmy się, że obiekty naszego tematu są niezbędne do „komunikacji” z witrynami. Co więcej, zarówno żądania GET, jak i POST mogą służyć do „zadawania pytań” do witryny i do „odpowiedzi”. Czym się różnią? To całkiem proste. Aby jednak wyjaśnić różnice, będziemy musieli wziąć pod uwagę przykład, dla którego bierzemy witrynę planu sklepu internetowego.
Zapewne często zwracałeś uwagę, gdy szukałeś czegoś w sklepach internetowych, że przeszukując filtry, adres strony zmienił się z pięknego „http://magaazin.ru” na okropny „http://magaazin.ru/? category \u003d shoes & size \u003d 38 ". Tak więc wszystko, co pojawia się po znaku „?”, Jest żądaniem GET do witryny, a dokładniej mówiąc, w tym przypadku pytasz witrynę o zawartość kategorii „Buty” w rozmiarze „38” ( ten przykład jest wzięty z głowy, w rzeczywistości wszystko może nie wyglądać tak oczywiste). W rezultacie możemy sami zadawać pytania, określając je w pasku adresu witryny. Oczywiście ta metoda ma kilka wad. Po pierwsze, każdy, kto znajduje się obok użytkownika przy komputerze, może łatwo szpiegować wszystkie dane, dlatego stosowanie tego typu żądań do przesyłania haseł jest wysoce niepożądane. Po drugie, istnieje ograniczenie długości ciągu, który można przesłać z pola adresu witryny, co oznacza, że \u200b\u200bnie będzie działać przy przesyłaniu dużej ilości danych. Jednak niewątpliwą zaletą korzystania z żądań GET jest łatwość obsługi i możliwość szybkiego zadawania pytań witrynie, co jest szczególnie przydatne podczas programowania, ale to już inna historia ...
Porozmawiajmy teraz o żądaniach POST. Wnikliwi czytelnicy mogli zdać sobie sprawę, że główną różnicą między tym żądaniem a jego odpowiednikiem jest tajność przesyłanych danych. Jeśli weźmiemy pod uwagę sklep internetowy, żywym przykładem wykorzystania żądania POST jest rejestracja na stronie. Serwis prosi o podanie Twoich danych, Ty je uzupełniasz i po kliknięciu w przycisk „Zarejestruj się” wysyłasz odpowiedź. Ponadto dane te nie będą wyświetlane na zewnątrz. Warto również zauważyć, że można zażądać dość dużej ilości informacji - a żądanie POST nie ma znaczących ograniczeń. Cóż, jeśli dotkniesz minusa, takiego żądania nie da się szybko wygenerować. Nie możesz się obejść bez specjalnych umiejętności. Chociaż w rzeczywistości wszystko nie jest takie trudne, ale znowu to już inna historia.
Podsumujmy. Żądania POST i GET są potrzebne do „komunikacji” między użytkownikiem a witryną. Zasadniczo są one przeciwieństwem siebie. Użycie niektórych typów zapytań zależy od konkretnej sytuacji, a używanie tylko jednego rodzaju zapytań jest niezwykle niewygodne.

Opis

Atrybut method informuje serwer o metodzie żądania.

Składnia

...

Wartości

W wartości atrybutu method nie jest rozróżniana wielkość liter. Istnieją dwie metody - pobierz i wyślij.

Pobierz Ta metoda jest jedną z najpopularniejszych i służy do pobierania wymaganych informacji i przesyłania danych w pasku adresu. W tym przypadku pary „nazwa \u003d wartość” są dołączane do adresu po znaku zapytania i oddzielane ampersandem (symbolem &). Wygoda korzystania z metody get polega na tym, że adresu ze wszystkimi parametrami można używać wielokrotnie, zapisując go np. Do zakładek przeglądarki, a także zmieniając wartości parametrów bezpośrednio w pasku adresu. post Metoda post wysyła dane do serwera w żądaniu przeglądarki. Pozwala to na wysłanie większej ilości danych niż jest dostępne dla metody get, ponieważ ma ona limit 4K. Duże ilości danych są wykorzystywane na forach, w usługach pocztowych, populacjach baz danych, transferach plików itp.

Wymagany atrybut

Domyślna wartość

HTML5 IE Cr Op Sa Fx

Znacznik FORM, atrybut metody

DZWON

Są tacy, którzy czytają tę wiadomość przed wami.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu