Lär dig PHP 3 – Formulär

augusti 5th, 2010 by Kristoffer Leave a reply »

PHPDet har blivit dags att för första gången blanda in lite HTML i PHP-programmeringen. Att lära sig hur man hanterar formulär med PHP är ett måste! Via formulärer kan vi bland annat skapa login-funktioner, gästböcker, forum och mycket mycket mer. Ni bör dock ha det i åtanke att det jag visar är väldigt simpel formulärhantering och jag blandar inte in säkerhet och filtrering, vilket är otroligt viktigt när man hanterar formulär som ligger på publika webbplatser och som andra kommer använda.

POST & GET

Det finns två metoder för att skicka data via formulär, POST eller GET. Den absolut enklaste förklaringen av POST och GET är att om man använder GET-metoden i formulär kommer alla parametrar visas i adressfältet i webbläsaren, vilket inte görs med POST. Läs mer om just POST och GET här.


Exemplet nedan visar ett väldigt enkelt formulär med lite PHP för att hantera datan som skickas.

Exempel 13 – Skicka värden i formulär

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Din sida</title>
</head>
<body>
<?php
if (isset($_POST['skicka'])) {
  echo $_POST['fornamn'];
  echo "<br />";
  echo $_POST['mellannamn'];
  echo "<br />";
  echo $_POST['efternamn'];
}
?>
<form method="post" action="dinfil.php">
      Ditt förnamn<br />
      <input type="text" name="fornamn" /><br />
      Ditt mellannamn <br />
      <input type="text" name="mellannamn" /><br />
      Ditt efternamn<br />
      <input type="text" name="efternamn" /><br /><br />
      <input type="submit" name="skicka" value="skicka" />
   </form>
   </body>
</html>

När man fyllt i dessa tre fält och tryckt på skicka, kommer datan (det man fyllt i formulären) skickas med när sidan laddas om. Glöm inte att ändra action till rätt filnamn, alltså namnet på den fil du sparar denna koden i. Vi hämtar sedan datan genom att använda $_POST['variabel'] och skriver ut dem via echo. Som ni också kanske har märkt så har en ny funktion hittat in i vårt exempel. Denna gången är det isset( ).

Vi använder isset( ) i en if-sats för att kontrollera om $_POST['skicka'] är satt / skickad. Om den är det så skriver vi ut alla variablar på varsin rad. Jag vill också uppmärksamma er på att man kan spara dessa $_POST i egna variablar på följande sätt för lättare hantering.

$fornamn = $_POST['fornamn'];

Jag vill också påpeka att ur ett säkerhetsperspektiv är det otroligt viktigt att verkligen kontrollera datan som skickas med POST och GET. Man kan väldigt enkelt manipulera dessa. Om POST- eller GET-variabler kommer ha en databaspåverkan (sökning, nedsparning etc) är det extremt viktigt att hålla koll på innehållet i POST och GET.

Mer om detta kommer i en senare ”Lär dig PHP”-del.

Advertisement

Kommentera