Vil man kommunikere med brugeren er der ingen vej uden om formularer. De enkelte afsnit forklarer hvordan du fra php får fat i de informationer brugeren giver - enten i tekstfelter, selectbokse, radiobokse eller checkbokse. Har du endnu ikke lært hvordan man laver formularer, så vil jeg tillade mig at henvise til en artikel fra html.dk.
Tekstfelter
Jeg formoder at du har nogenlunde styr på html-delen, ellers kommer her en lille opfrisker.
Action attributen fortæller hvor formularen skal postes til (filnavnet). formular.php er navnet på dette dokument. Method attributen fortæller hvordan formularen skal postes. Husk at give tekstfeltet et navn (i eksemplet har jeg kaldt feltet mitfelt)
Formålet er at få indholdet af tekstfeltet ind i en variabel, så at vi kan bruge indholdet i vores php-script. Så snart brugeren har postet formen (dvs. trykket på submit knappen), så har vi fra php adgang til det brugeren har skrevet, ved at skrive $_POST['navn_på_mit_felt'] (samme metoder bruger man iøvrigt til alle formularelementer). Eksempel:
Prøv at skrive noget i feltet og tryk på knappen. I linje 2 skriver vi indholdet af feltet ud på skærmen. Den skriver selvfølgelig først noget når man har udfyldt feltet og sendt formularen.
I eksemplet kan vi altså tilgå indholdet af det brugeren skriver i tekstfeltet, ved at skrive $_POST['mit_tekst_felt'] hvor mit_tekst_felt er navnet på tekstfeltet.
Store tekstfelter (textareas) fungerer på samme måde. Man giver feltet et navn og tilgår indholdet med $_POST['navn_på_felt']. Eksempel:
(Forklaring på form tag'et kan ses i afsnittet ovenfor). Læg mærke til at vi har givet selectboksen et navn, nemlig valg - det er navnet vi skal bruge til at indentificere feltet fra php. Teksten der står mellem <option> og </option> er udelukkende det brugeren ser når han/hun vælger fra selectboksen. Value attributen er til gengæld den reelle værdi som vi henter ud fra php-scriptet. Tryk på ok i eksemplet og prøv.
Radioknapper
Radioknapperne fungerer på samme måde som selectboksene (se afsnittet ovenfor), så vi springer lige ud i et eksempel:
Bemærk at alle radioknapperne skal have samme navn (i eksemplet film), da de tilhører den samme gruppe/valg. Value attributen er den værdi vi henter ud af fra php (dvs. hvis man fx vælger "You've got mail", så får vi "gotmail" ud). Værdien af valget henter vi ud ved at bruge variablen $_POST['film'].
Checkbokse
Checkboksene er en smule mere komplicerede, idet brugeren har mulighed for at at vælge mere end én værdi. I stedet for at få en streng ud med det valg brugeren har foretaget (eller den tekst han har skrevet), så får vi i stedet et array ud. Lad os prøve med et eksempel:
<form action="formular.php#check" method="post"> Hvad er dine interesser? <br> <input type="checkbox" name="interesser[]" value="koslagtning"> Koslagtning <br> <input type="checkbox" name="interesser[]" value="sortarbejde"> Sort arbejde <br> <input type="checkbox" name="interesser[]" value="bilophugning"> Bilophugning <br> <input type="checkbox" name="interesser[]" value="andet"> Andet <br> <input type="submit" value=" ok "> </form>
Resultat:
Prøv at krydse nogle af i eksemplet, tryk ok og se hvordan array'et udvider sig alt efter hvilke muligheder du vælger. $_POST['interesser'] kommer altså til at indeholde et array med de valg brugeren foretager.
Et eksempel mere:
<?php if (isset($_POST['konvalg'])) //Har brugeren sendt formularen? { foreach($_POST['konvalg'] as $kon) //Kør igennem array'et { echo "Du har valgt: ".$kon." <br>"; } } ?>
<form action="formular.php#check" method="post"> Hvilket køn er du? <br> <input type="checkbox" name="konvalg[]" value="mand"> Mand <br> <input type="checkbox" name="konvalg[]" value="kvinde"> Kvinde <br> <input type="checkbox" name="konvalg[]" value="intetkon"> Intetkøn <br> <input type="checkbox" name="konvalg[]" value="tvekonnet"> Tvekønnet <br> <input type="submit" value=" ok "> </form>