Samouczek PHP

Strona główna PHP Wprowadzenie do PHP Instalacja PHP Składnia PHP Komentarze PHP Zmienne PHP PHP Echo / Drukuj Typy danych PHP Ciągi PHP Liczby PHP Matematyka w PHP Stałe PHP Operatory PHP PHP Jeśli...Inne...Elseif Przełącznik PHP Pętle PHP Funkcje PHP Tablice PHP PHP Superglobals PHP RegEx

Formularze PHP

Obsługa formularzy PHP Walidacja formularzy PHP Wymagany formularz PHP Adres URL/e-mail formularza PHP Formularz PHP kompletny

Zaawansowany PHP

Data i godzina w PHP Uwzględnij PHP Obsługa plików PHP Otwórz/odczytaj plik PHP Tworzenie/zapisywanie plików PHP Przesyłanie plików PHP Pliki cookie PHP Sesje PHP Filtry PHP Zaawansowane filtry PHP Funkcje wywołania zwrotnego PHP PHP JSON Wyjątki PHP

PHP OOP

PHP Co to jest OOP Klasy/obiekty PHP Konstruktor PHP Destruktor PHP Modyfikatory dostępu PHP Dziedziczenie PHP Stałe PHP Klasy abstrakcyjne PHP Interfejsy PHP Cechy PHP Metody statyczne PHP Właściwości statyczne PHP Przestrzenie nazw PHP Iterowalne PHP

Baza danych MySQL

Baza danych MySQL Połączenie MySQL Tworzenie bazy danych MySQL Utwórz tabelę MySQL Wstaw dane MySQL Pobierz ostatni identyfikator MySQL Wstaw wiele MySQL Przygotowano MySQL Wybierz dane MySQL MySQL Gdzie Zamów MySQL według Usuń dane MySQL Dane aktualizacji MySQL Dane limitu MySQL

PHP XML

Parsery PHP XML Parser PHP SimpleXML PHP SimpleXML — Get Rozszerzenie PHP XML PHP XML DOM

PHP - AJAX

Wprowadzenie do AJAX AJAX PHP Baza danych AJAX XML AJAX Wyszukiwanie na żywo AJAX Ankieta AJAX

Przykłady PHP

Przykłady PHP Kompilator PHP Quiz PHP Ćwiczenia PHP Certyfikat PHP

Odniesienie do PHP

Przegląd PHP Tablica PHP Kalendarz PHP Data PHP Katalog PHP Błąd PHP Wyjątek PHP System plików PHP Filtr PHP PHP FTP PHP JSON Słowa kluczowe PHP Biblioteka PHP Poczta PHP Matematyka w PHP Różne PHP PHP MySQLi Sieć PHP Kontrola wyjścia PHP PHP RegEx PHP SimpleXML Strumień PHP ciąg PHP Obsługa zmiennych PHP Parser PHP XML Kod pocztowy PHP Strefy czasowe PHP

Obsługa formularzy PHP


Superglobale PHP $_GET i $_POST są używane do zbierania danych formularzy.


PHP — prosty formularz HTML

Poniższy przykład przedstawia prosty formularz HTML z dwoma polami wejściowymi i przyciskiem przesyłania:

Przykład

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

Gdy użytkownik wypełni powyższy formularz i kliknie przycisk Prześlij, dane formularza są wysyłane do przetworzenia do pliku PHP o nazwie „welcome.php”. Dane formularza przesyłane są metodą HTTP POST.

Aby wyświetlić przesłane dane, możesz po prostu wyświetlić wszystkie zmienne. Plik „welcome.php” wygląda tak:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

Dane wyjściowe mogą wyglądać mniej więcej tak:

Welcome John
Your email address is [email protected]

Ten sam wynik można było również osiągnąć stosując metodę HTTP GET:

Przykład

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

a "welcome_get.php" wygląda tak:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Powyższy kod jest dość prosty. Jednak najważniejszej rzeczy brakuje. Musisz zweryfikować dane formularza, aby chronić swój skrypt przed złośliwym kodem.

Pomyśl o BEZPIECZEŃSTWIE podczas przetwarzania formularzy PHP!

Ta strona nie zawiera żadnej walidacji formularzy, pokazuje tylko, jak możesz wysyłać i pobierać dane formularzy.

Jednak kolejne strony pokażą, jak przetwarzać formularze PHP z myślą o bezpieczeństwie! Właściwa weryfikacja danych formularza jest ważna, aby chronić formularz przed hakerami i spamerami!



POBIERZ vs. POST

Zarówno GET, jak i POST tworzą tablicę (np. tablica( klucz1 => wartość1, klucz2 => wartość2, klucz3 => wartość3, ...)). Ta tablica zawiera pary klucz/wartość, gdzie klucze są nazwami kontrolek formularza, a wartości są danymi wejściowymi od użytkownika.

Zarówno GET, jak i POST są traktowane jako $_GET i $_POST. Są to superglobale, co oznacza, że ​​są zawsze dostępne, niezależnie od zakresu — i możesz uzyskać do nich dostęp z dowolnej funkcji, klasy lub pliku bez konieczności robienia czegokolwiek specjalnego.

$_GET to tablica zmiennych przekazywana do bieżącego skryptu przez parametry adresu URL.

$_POST to tablica zmiennych przekazywanych do bieżącego skryptu za pomocą metody HTTP POST.


Kiedy używać GET?

Informacje przesłane z formularza metodą GET są widoczne dla wszystkich (wszystkie nazwy zmiennych i wartości wyświetlane są w adresie URL). GET ma również ograniczenia dotyczące ilości informacji do wysłania. Ograniczenie to około 2000 znaków. Ponieważ jednak zmienne są wyświetlane w adresie URL, istnieje możliwość dodania strony do zakładek. W niektórych przypadkach może to być przydatne.

GET może być używany do przesyłania niewrażliwych danych.

Uwaga: GET NIGDY nie powinien być używany do wysyłania haseł lub innych poufnych informacji!


Kiedy używać POST?

Informacje wysyłane z formularza metodą POST są niewidoczne dla innych (wszystkie nazwy/wartości są osadzone w treści żądania HTTP) i nie ma ograniczeń co do ilości informacji do wysłania.

Ponadto POST obsługuje zaawansowane funkcje, takie jak obsługa wieloczęściowego wejścia binarnego podczas przesyłania plików na serwer.

Jednak ponieważ zmienne nie są wyświetlane w adresie URL, nie można dodać strony do zakładek.

Deweloperzy wolą POST do wysyłania danych formularzy.

Następnie zobaczmy, jak możemy przetwarzać formularze PHP w bezpieczny sposób!


Ćwiczenia PHP

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Jeśli formularz w białej sekcji poniżej zostanie przesłany, w jaki sposób możesz w welcome.php wypisać wartość z pola "imię"?

<form action="welcome.php" method="get"> First name: <input type="text" name="fname"> </form>
<html> <body> Welcome <?php echo ; ?> </body> </html>