PHP-formulärhantering
- Föregående sida PHP SuperGlobal
- Nästa sida PHP Formulärvalidering
PHP-övergloabal variabler $_GET och $_POST används för att samla in formulärdata (form-data).
PHP - Ett enkelt HTML-formulär
Exempelvis visar följande HTML-formulär ett enkelt formulär som innehåller två inmatningsfält och en submit-knapp:
Exempel
<html> <body> <form action="welcome.php" method="post"> Namn: <input type="text" name="name"><br> E-post: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
När användaren fyller i detta formulär och klickar på submit-knappen skickas formulärdata till PHP-filen "welcome.php" för behandling. Formulärdata skickas via HTTP POST-metoden.
För att visa de inmatade data kan du enkelt skriva ut (echo) alla variabler. Filen "welcome.php" ser så ut:
<html> <body> Välkommen <?php echo $_POST["name"]; ?><br> Din e-postadress är: <?php echo $_POST["email"]; ?> </body> </html>
Uttan:
Välkommen Bill Din e-postadress är Bill.Gates@example.com
Du kan också få samma resultat med HTTP GET-metoden:
Exempel
<html> <body> <form action="welcome_get.php" method="get"> Namn: <input type="text" name="name"><br> E-post: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
"welcome_get.php" ser så ut:
<html> <body> Välkommen <?php echo $_GET["name"]; ?><br> Din e-postadress är: <?php echo $_GET["email"]; ?> </body> </html>
Koden ovan är enkel. Men det viktigaste innehållet har glömts bort. Du måste verifiera formulärdata för att förhindra att skriptet får sprickor.
Observera:Var uppmärksam på säkerhet när du hanterar PHP-formulär!
Denna sida innehåller inga formulärverifieringsprogram, den visar bara hur man skickar och mottar formulärdata.
Men i de efterföljande kapitlen kommer vi att förklara hur du kan öka säkerheten för PHP-formulär! Appropriet säkerhetsverifiering av formulär är mycket viktig för att motstå hackare och spam.
GET vs. POST
GET och POST skapar båda arrayer (t.ex., array(key => value, key2 => value2, key3 => value3, ...)). Denna array innehåller nyckel/värde-par, där nyckeln är namnet på formularkontrollen och värdet är inmatningsdata från användaren.
GET och POST betraktas som $_GET och $_POST. De är superglobala variabler, vilket innebär att åtkomsten till dem inte behöver övervägas i förhållande till omfattning - det krävs ingen särskild kod, du kan komma åt dem från alla funktioner, klasser eller filer.
$_GET är en variabelarray som skickas till den aktuella skriptet via URL-parametrar.
$_POST är en variabelarray som skickas till den aktuella skriptet via HTTP POST.
När ska man använda GET?
Information som skickas från formulär via GET-metodensynlig för alla(alla variabelnamn och värden visas i URL:en)。GET har också en begränsning för mängden information som skickas. Begränsningen är cirka 2000 tecken. Men eftersom variablerna visas i URL:en är det också mer bekvämt att lägga till sidan i bokmärken.
GET kan användas för att skicka osensitiv data.
Kommentar:Det är aldrig lämpligt att använda GET för att skicka lösenord eller annan känslig information!
När ska man använda POST?
Information som skickas från formulär via POST-metodenär osynlig för andra(alla namn/värden läggs in i HTTP-forespåralets kropp),och också för mängden information som skickasObegränsat.
POST stöder också avancerade funktioner, till exempel multi-part binär inmatning när filer laddas upp till servern.
Men eftersom variablerna inte visas i URL:en, kan sidan inte läggas till i bokmärken.
Tips:Utvecklare föredrar POST för att skicka formulärdata.
Låt oss nu se hur vi säkert kan hantera PHP-formulär!
- Föregående sida PHP SuperGlobal
- Nästa sida PHP Formulärvalidering