160 likes | 272 Views
Webprogrammering. Skjema i HTML og PHP. I dag. Bruk av HTML skjema i PHP Overføring av data fra en side til en annen ( get , post) Kodegjennomgang Oppgaveløsning på lab. HTML-skjema (eng. form). <form action="test2.php" method="get”> Ditt navn :<br />
E N D
Webprogrammering Skjema i HTML og PHP
I dag • Bruk av HTML skjema i PHP • Overføring av data fra en side til en annen (get, post) • Kodegjennomgang • Oppgaveløsning på lab
HTML-skjema (eng. form) <form action="test2.php" method="get”> Ditt navn :<br /> <input type="text" name="navn" /><br /> Adresse:<br /> <input type="text" name="adresse" /><br /> Postnr :<br /> <input type="text" name="postnr" size="4" /><br /> Postadresse :<br /> <input type="text" name="poststed" /><br /> <input type="submit" value="Registrer" name="knapp" /> </form> Ditt navn : Adresse:Postnr :Poststed : Registrer
Etter trykk på knapp ny side: $_ + store bokstaver ! <?php echo "Du er nå kommet til ny side.<br/>"; echo "Hei ". $_GET[”navn”]."<br/>"; echo "Du har følgende adresse : <br/>"; echo $_GET[”adresse”]."<br/>"; echo $_GET[”postnr”]." ".$_GET[”poststed”]."<br/>"; ?> Ditt navn : Adresse:Postnr :Poststed : Ole Olsen Heiaveien 82 0001 Du er nå kommet til en ny side.Hei Ole OlsenDu har følgende adresse : Heiaveien 820001 Oslo Oslo Registrer Merk URL’en http://localhost/test/test2.php?navn=Ole+Olsen&adresse=Heiaveien+82 &postnr=0001&poststed=Oslo&knapp=Registrer
HTML-skjema (post) <form action="test2.php" method=”post”> Ditt navn :<br /> <input type="text" name="navn" /><br /> Adresse:<br /> <input type="text" name="adresse" /><br /> Postnr :<br /> <input type="text" name="postnr" size="4" /><br /> Postadresse :<br /> <input type="text" name="poststed" /><br /> <input type="submit" value="Registrer" name="knapp" /> </form> Ditt navn : Adresse:Postnr :Poststed : Registrer
Henter data med POST i ny side: <?php echo "Du er nå kommet til en ny side.<br/>"; echo "Hei ". $_POST[”navn”]."<br/>"; echo "Du har følgende adresse : <br/>"; echo $_POST[”adresse”]."<br/>"; echo $_POST[”postnr”]." ".$_POST[”poststed”]"; ?> Ditt navn : Adresse:Postnr :Poststed : Ole Olsen Heiaveien 82 0001 Du er nå kommet til en ny side.Hei Ole OlsenDu har følgende adresse : Heiaveien 820001 Oslo Oslo Registrer Merk URL’en http://localhost/test/test2.php
Alternativt med REQUEST <?php echo "Du er nå kommet til ny side.<br/>"; echo "Hei ". $_REQUEST[”navn”]."<br/>"; echo "Du har følgende adresse : <br/>"; echo $_REQUEST[”adresse”]."<br/>"; echo $_POST[”postnr”]." ".$_POST[”poststed”]"; ?> Ditt navn : Adresse:Postnr :Poststed : Ole Olsen Heiaveien 82 0001 Du er nå kommet til en ny side.Hei Ole OlsenDu har følgende adresse : Heiaveien 820001 Oslo Oslo Registrer $_REQUEST kan brukes både for GET og POST http://localhost/test/test2.php
Superglobale arrays • $_GET[ ] og $_POST[ ] er globale variabler som kan leses /skrives av alle web-sidene. • Normale variabler f.eks $alder gjelder bare for den ene siden og bare før siden vises. • $_REQUEST[ ] kan hente fram data når de er lagret både med get og post i skjema. • get har begrenset dataoverføring og er synlig i URL (men enklere å se hvilke data som overføres) • post har ikke disse begrensningene.
HTML og PHP i samme side <form action="" method="get"> Navn : <input type="text" name="navn" /> <input type="submit" value="Trykk" name="navn_knapp" /> </form> <?php if (isset($_GET["navn_knapp"])) { echo "Navnet er : ". $_GET["navn"]; } ?> NB : samme side Navn : Navnet er : Ole Ole Trykk
Flere HTML kontroller i skjema // Her er en dropdown liste Kjønn : <br /> <select size="1" name="kjonn"> <option>Mann</option> <option>Kvinne</option> </select><br /> Kjønn : Mann echo”Valgt kjønn ".$_REQUEST[”kjonn”];
Passordfelt Navn : <input type="text" name=”navn" /><br /> Passord : <input type="password" name="passord" /> <br /> Knapp for registrering: <input type="submit" value="Registrer" name="knapp" /> type = password vil skjerme inntastingen i feltet (••••••••••)
Sjekkboks Myndig : <input type="checkbox" checked="checked" name=“myndig" /> <br /> Myndig : V if (isset($_REQUEST["myndig"])) { echo " Og du er myndig<br/>"; } else { echo " Og du er ikke myndig<br/>"; } Og du er myndig
Radioknapp Har bil : <input type=“radio“ name=“bil" /> <br /> Har bil : if (isset($_REQUEST[”bil"])) { echo " Og har bil<br/>"; } else { echo " Og har ikke bil<br/>"; } Og har ikke bil
Flere radioknapper Har type bil :<br /> Volvo : <input type="radio" name="bil" value="Volvo" /> <br /> Audi : <input type="radio" name="bil" value="Audi" /> <br /> Ford : <input type="radio" name="bil" value="Ford" /> <br /> Har type bil: Volvo Audi Ford Samme ”name” gjør at bare en av verdiene kan velges echo "Og har bil type ".$_REQUEST["bil"]."<br/>"; Og har bil type Audi
Sjekkbokser (velge flere) Brød : <input type="checkbox" name="mat[ ]" value="Brød" /> <br /> Smør : <input type="checkbox" name="mat[ ]" value="Smør" /> <br /> Melk : <input type="checkbox" name="mat[ ]" value="Melk" /> <br /> Brød : V Smør : Melk : V Merk [ ] Array! foreach ($_REQUEST["mat"] as $teller=>$matType) { echo $matType."<br/>"; } Brød Melk
Sjekk før for-each if (isset($_REQUEST["mat"])) { foreach ($_REQUEST["mat"] as $teller=>$matType) { echo $matType."<br/>"; } } Brød : Bruk isset for å unngå at foreach løkka stopper når ikke noe er valgt i sjekkboksene Smør : Melk :