PHP -zelfstudie

PHP HOME PHP-intro PHP-installatie PHP-syntaxis PHP-opmerkingen PHP-variabelen PHP-echo / afdrukken PHP-gegevenstypen PHP-strings PHP-nummers PHP-wiskunde PHP-constanten PHP-operators PHP Als...Anders...Anders PHP-switch PHP-loops PHP-functies PHP-arrays PHP Superglobals PHP RegEx

PHP- formulieren

PHP-formulierverwerking PHP-formuliervalidatie PHP-formulier vereist URL/e-mail van PHP-formulier PHP-formulier voltooid

PHP Geavanceerd

PHP-datum en tijd PHP opnemen PHP-bestandsverwerking PHP-bestand openen/lezen PHP-bestand maken/schrijven PHP-bestand uploaden PHP-cookies PHP-sessies PHP-filters PHP-filters geavanceerd PHP-callback-functies PHP JSON PHP-uitzonderingen

PHP OOP

PHP Wat is OOP PHP-klassen/objecten PHP-constructor PHP-vernietiger PHP-toegangsmodificaties PHP-overerving PHP-constanten PHP abstracte lessen PHP-interfaces PHP-kenmerken PHP statische methoden Statische eigenschappen van PHP PHP-naamruimten PHP-iterables

MySQL- database

MySQL-database MySQL Connect MySQL DB maken MySQL-tabel maken MySQL Gegevens invoegen MySQL Laatste ID ophalen MySQL Meerdere invoegen MySQL voorbereid MySQL Gegevens selecteren MySQL Waar MySQL Bestel op MySQL Gegevens verwijderen MySQL-updategegevens MySQL-limietgegevens

PHP XML

PHP XML-parsers PHP SimpleXML-parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

Ajax-intro AJAX PHP AJAX-database AJAX XML Live zoeken in Ajax Ajax-peiling

PHP- voorbeelden

PHP-voorbeelden PHP-compiler PHP-quiz PHP-oefeningen PHP-certificaat

PHP- referentie

PHP-overzicht PHP-array PHP-agenda PHP-datum PHP-map PHP-fout PHP-uitzondering PHP-bestandssysteem PHP-filter PHP FTP PHP JSON PHP-sleutelwoorden PHP Libxml PHP-e-mail PHP-wiskunde PHP Diversen PHP MySQLi PHP-netwerk PHP-uitvoercontrole PHP RegEx PHP SimpleXML PHP-stream PHP-string Beheer van PHP-variabelen PHP XML-parser PHP-zip PHP-tijdzones

PHP- formulierverwerking


De PHP-superglobalen $_GET en $_POST worden gebruikt om formuliergegevens te verzamelen.


PHP - Een eenvoudig HTML-formulier

Het onderstaande voorbeeld toont een eenvoudig HTML-formulier met twee invoervelden en een verzendknop:

Voorbeeld

<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>

Wanneer de gebruiker het bovenstaande formulier invult en op de verzendknop klikt, worden de formuliergegevens voor verwerking verzonden naar een PHP-bestand met de naam "welcome.php". De formuliergegevens worden verzonden met de HTTP POST-methode.

Om de ingediende gegevens weer te geven, kunt u eenvoudig alle variabelen echoën. De "welkom.php" ziet er als volgt uit:

<html>
<body>

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

</body>
</html>

De output zou er ongeveer zo uit kunnen zien:

Welcome John
Your email address is [email protected]

Hetzelfde resultaat kan ook worden bereikt met de HTTP GET-methode:

Voorbeeld

<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>

en "welcome_get.php" ziet er als volgt uit:

<html>
<body>

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

</body>
</html>

De bovenstaande code is vrij eenvoudig. Het belangrijkste ontbreekt echter. U moet formuliergegevens valideren om uw script te beschermen tegen kwaadaardige code.

Denk aan VEILIGHEID bij het verwerken van PHP-formulieren!

Deze pagina bevat geen formuliervalidatie, het laat alleen zien hoe u formuliergegevens kunt verzenden en ophalen.

De volgende pagina's laten echter zien hoe u PHP-formulieren verwerkt met het oog op veiligheid! Een goede validatie van formuliergegevens is belangrijk om uw formulier te beschermen tegen hackers en spammers!



GET versus POST

Zowel GET als POST creëren een array (bijv. array( key1 => value1, key2 => value2, key3 => value3, ...)). Deze array bevat sleutel/waarde-paren, waarbij sleutels de namen zijn van de formulierbesturingselementen en waarden de invoergegevens van de gebruiker zijn.

Zowel GET als POST worden behandeld als $_GET en $_POST. Dit zijn superglobalen, wat betekent dat ze altijd toegankelijk zijn, ongeacht het bereik - en je kunt ze openen vanuit elke functie, klasse of bestand zonder iets speciaals te hoeven doen.

$_GET is een reeks variabelen die via de URL-parameters aan het huidige script worden doorgegeven.

$_POST is een array van variabelen die via de HTTP POST-methode aan het huidige script wordt doorgegeven.


Wanneer GET gebruiken?

Informatie verzonden vanaf een formulier met de GET-methode is voor iedereen zichtbaar (alle variabelenamen en waarden worden weergegeven in de URL). GET heeft ook limieten voor de hoeveelheid informatie die moet worden verzonden. De beperking is ongeveer 2000 tekens. Omdat de variabelen echter in de URL worden weergegeven, is het mogelijk om de pagina te bookmarken. Dit kan in sommige gevallen handig zijn.

GET kan worden gebruikt voor het verzenden van niet-gevoelige gegevens.

Opmerking: GET mag NOOIT worden gebruikt voor het verzenden van wachtwoorden of andere gevoelige informatie!


Wanneer gebruik je POST?

Informatie die wordt verzonden vanaf een formulier met de POST-methode is onzichtbaar voor anderen (alle namen/waarden zijn ingesloten in de hoofdtekst van het HTTP-verzoek) en kent geen limiet voor de hoeveelheid informatie die moet worden verzonden.

Bovendien ondersteunt POST geavanceerde functionaliteit zoals ondersteuning voor meerdelige binaire invoer tijdens het uploaden van bestanden naar de server.

Omdat de variabelen echter niet in de URL worden weergegeven, is het niet mogelijk om de pagina te bookmarken.

Ontwikkelaars geven de voorkeur aan POST voor het verzenden van formuliergegevens.

Laten we vervolgens kijken hoe we PHP-formulieren op een veilige manier kunnen verwerken!


PHP-oefeningen

Test jezelf met oefeningen

Oefening:

Als het formulier in het witte gedeelte hieronder wordt ingediend, hoe kun je dan, in welcome.php, de waarde uit het veld "voornaam" uitvoeren?

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