Formularz i metoda POST - PHP

in polish •  6 years ago 

Ostatnio mieliśmy wzmianki o formularzu i wykorzystaniu metody GET. Dzisiaj zajmiemy się metodą POST.

Jak pamiętacie z ostatniej lekcji GET pozwala wysyłać do strony zapytania w adresie. POST tak nie potrafi i (nawet do końca nie wiem) wysyła zapytania bezpośrednio do strony. Utrudnia to mocno modyfikację wartości przez użytkownika, zezwala do wysyłania dużej ilości informacji i chyba jest bezpieczniejsze w komunikacji klient - serwer (tak mi się wydaje - w przypadku HTTPS).

Będziemy na bieżąco w tym artykule porównywać jak wygląda kod z GET, a jak z POST:

<?php
print_r($_GET);
?>
<form>
<input type="text" name="imie">
<button type="submit">Podaj imię</button>
</form>

Tak wygląda kod z wykorzystaniem GET, a jak z POST (analogiczny)?

<?php
print_r($_POST);
?>
<form method="POST">
<input type="text" name="imie">
<button type="submit">Podaj imię</button>
</form>

Mamy dwie główne zmiany, pierwsza to oczywiście zmienia nam się tablica, która przechowuje dane - z $_GET na $_POST.

Druga to w tagu form podajemy metodę, którą używamy. Wcześniej nie pisaliśmy nic chociaż można było podać method="GET". Domyślnie jak nie ma żadnej metody ustawiana jest właśnie ona. W przypadku POST należy podać właśnie, że chcemy jej użyć.

Oczywiście najlepiej byłoby każdy tego typu rodzaj typu "wprowadzania" użyć. POST przydaje się w przypadku haseł i plików szczególnie. Z czasem będziemy jednak prezentować kolejne.

Poprzednie zadanie domowe brzmiało ...

Zrobić formularz, który po wpisaniu imienia wyświetla "Witaj, X". Jeśli nie zostały wprowadzone dane to wyświetla "Witaj nieznajomy, podaj swoje imię!".

<?php

if(!empty($_GET['imie'])) {
echo 'Witaj '.$_GET['imie'];
} else {
echo 'Witaj nieznajomy, podaj swoje imię!';
}

?>

<form>
<input type="text" name="imie">
<button type="submit">Podaj imię</button>
</form>

Zadanie domowe

Podobne jak poprzednie, ale z POST ;)

Oczywiście POST i GET (i SESSION, ale to za tydzień) używa się często w serwisach internetowych, a warto ogólnie na spokojnie to wszystko przetrawiać.

To co? Za tydzień sesje? ;)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Downvoting. Some reasons:

Get off of me troll, enough is enough!

Ps.Każdy kto głosuje automatycznie na posty tego trolla powinien przestać to robić. Strata środków.

  ·  6 years ago (edited)

Też mogę wrzucić screenshot. Po prostu się zdziwiłem co w jednym komentarzu wrzuciłeś i się chciałem zapytać czy wszystko w porządku.

Jak masz problemy to daj sobie pomóc i tyle. Jak chcesz to wtajemniczę jednego z twoich ziomków w temat

I already told you, get off of me, stop trolling. Don't act like sick bastard. Stop sending your messages

  ·  6 years ago Reveal Comment

czy ty nie rozumiesz że ja z trollami nie rozmawiam? na takie zaczepki mam flagi
Edit. don't you understand? I don't talk to trolls, I have flags for people like you

  ·  6 years ago (edited)

Możesz flagować, uważam jednak, że sprawa jest poważna (o ile dobrze zrozumiałem, bo może coś źle zrozumiałem).

Są rzeczy, z których się nie trolluje i zapewne wiesz o tym