Do zbierania i przesyłania danych pochodzących z formularza służą superglobale zmienne PHP $_GET i $_POST. Z ich pomocą możemy np.
Naukę o formularzach najlepiej zacząć od podstaw (bez żadnych zabezpieczeń, walidacji). Dlatego też na początek warto jest zbudować prosty formularz. Będzie się on składał z dwóch pól, w które będzie można wpisać jakąś wartość i przycisku wysyłania. Pierwsze pole tekstowe to „imię” a drugie „E-mail:”.
<html>
<body>
<form action="witaj.php" method="post">
Imię: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html> Formularz ten działa stosunkowo prosto. Po jego uzupełnieniu i kliknięciu w przycisk „submit” nastąpi przesłanie formularza. Konkretnie zostanie on wysłany pod adres zamieszczony w nagłówku <form action="witaj.php" method="post"> czyli do pliku witaj.php.
Mamy tutaj method="post" dane formularza zostaną więc przesyłane za pomocą metody HTTP POST.
By prawidłowo móc obsługiwać formularz potrzebujemy teraz pliku witaj.php będzie to wyglądało następująco:
<html>
<body>
Witaj <?php echo $_POST["name"]; ?><br>
Twój adres e-mail to: <?php echo $_POST["email"]; ?>
</body>
</html> Plik ten by działał musi znaleźć się w tym samym katalogu co nasz formularz. Po wypełnieniu formularza i jego przesłaniu powinien wyświetlić się tekst (adekwatny do tego co wpisaliśmy w formularz) np.:
Witaj Aura Twój adres e-mail to: aurainweb@gmail.com
Formularz z użyciem metody $_GET wygląda bardzo podobnie do tego z $_POST. Po prostu w nagłówku formularza w „method” wpisujemy „get” a zamiast „post”.
<html>
<body>
<form action="witaj_get.php" method="get">
Imię: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html> Plik do, którego będziemy przekazywali dane musi też ulec zmianie. Tym razem nazwałam go witaj_get.php (dla odróżnienia).
<html>
<body>
Witaj <?php echo $_GET["name"]; ?><br>
Twój adres e-mail to: <?php echo $_GET["email"]; ?>
</body>
</html> Wynik działania formularza pozornie będzie taki sam w obu metodach. Pozornie bo obie te metody działają w nieco inny sposób, ale o tym w dalszej części. Teraz omówmy jak to właściwie działa, skąd wiadomo które dane pobierać.
Zasada jest stosunkowo prosta! Kiedy budujemy formularz każdemu polu nadajemy unikalną nazwę (w obrębie formularza / sesji). Tą unikalną nazwę nadajemy z pomocą zmiennej name np. name=”name”, name=”email”.
Teraz w zależności od metody przesyłania używamy funkcji $_GET[" "] lub $_POST[" "]. Unikalną nazwę pola umieszczamy pomiędzy cudzysłowami. Teraz trzeba to jeszcze wyświetlić np. z pomocą echo.
<?php echo $_GET["name"]; ?> Na początku może to być lekko przytłaczające, ale po pewnym czasie to uczucie odchodzi.
$_GET i $_POSTMetody te są bardzo podobne do siebie w działaniu. Obie mogą przesyłać po więcej niż jedną danę. Mogą zostać użyte nawet do przesyłania tablic (więcej niż jedna informacja/dana w zmiennej). Obie formy mogą przekazywać też zawartość zmiennych pomiędzy podstronami serwisu.
$_GET to tablica zmiennych przekazywana do bieżącego skryptu poprzez parametry adresu URL.
$_POST to tablica zmiennych przekazywana do bieżącego skryptu metodą HTTP POST.
W praktyce oznacza to, że $_GET to metoda przesyłania jawna. Dostęp do danych jest prosty co może wpływać na łatwe ich wykradzenie. Dlatego też programiści wolą używać $_POST. Metoda ta zapewnia większe bezpieczeństwo.
Teraz to brzmi dziwnie, ale przykładowo hasło do twojego konta e-mail, bankowego powinno być prywatne, bezpieczne. Gdybyśmy je przesyłali $_GET – każdy mógł by je zobaczyć, wyświetliło by się bowiem w adresie URL. Takiej sytuacji raczej byśmy nie chcieli. Dlatego też lepiej użyć $_POST, dane nie będą w tedy widoczne.
Jak już wiemy informacje przesłane z pomocą GET są praktycznie widoczne dla wszystkich bo wyświetlają się w adresie URL strony. Metoda GET ma też limit wysyłanych znaków, który wynosi około 2000.
Przesyłanie w adresie zmiennych ma swoje wady, ale też zalety. Podczas takiego przesyłania tworzą się jak gdyby warianty / różne adresy, które można dodać do zakładek. Dzięki czemu możemy wrócić do nich później.
PAMIĘTAJ – NIE PRZESYŁAMY NIM WRAŻLIWYCH DANYCH TAKICH JAK NP. HASŁA.
Informacje wysyłane z pomocą metody POST są praktycznie niewidoczne dla zwykłych użytkowników. POST nie ma też ograniczeń co do ilości przesyłanych informacji.
Metoda ta umożliwia też przesyłanie różnego typu plików na serwer. Nie nadaje się jednak do tworzenia zakładek, ponieważ w adresie URL nie są przekazywane unikalne dane.
źródło:
https://www.w3schools.com/php/php_forms.asp
Jak w przypadku wielu różnych tematów tak i w przypadku marki osobistej pojawiło się przez…
Choć zabrzmi to może nieco dziwnie to wprowadzenie AI (sztucznej inteligencji) do naszego życia było…
Widmo Brockenu to dość rzadko spotykane zjawisko optyczne, najczęściej widywane w wysokich partiach gór. Można…
Zacznę może od tego, że relikwia, relikwii nie równa. Wiem jeśli nie ma się pojęcia…
Logo stanowi jeden z ważniejszych elementów tożsamości wizualnej praktycznie każdej firmy, marki czy projektu. Logo…
Budując własną markę osobistą lub chcąc ją zbudować trzeba liczyć się z wieloma wyzwaniami. Jednym…