Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.

Liknende presentasjoner


Presentasjon om: "1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen."— Utskrift av presentasjonen:

1 1 Arrayer og form(ularer) (Kapittel 4)

2 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen på GET og POST

3 3 Hva er en matrise (array)?  Brukes for å lagre, håndtere og operere på en mengde variable  Traverseres ved bruk av løkker  Hvert element består av en nøkkel og en verdi  Nøkler må være unike  To varianter Sekvensielle matriser (tallbaserte indekser) Sekvensielle matriser (tallbaserte indekser) Assosiative matriser (tall- og strengbaserte indekser) Assosiative matriser (tall- og strengbaserte indekser)

4 4 Opprette en matrise  Kan opprettes med array()  Opprettes også implisitt ved bruk av hakeparanteser // Ved bruk av array() $frukt = array( 'Eple', 'Pære', 'Banan' ); // Ved å definiere indeksene $frukt[0] = 'Eple'; $frukt[1] = 'Pære'; $frukt[2] = 'Banan'; // Ved å ikke definere indeksene $frukt[] = 'Eple'; $frukt[] = 'Pære'; $frukt[] = 'Banan';

5 5 Matrisen 'Eple' 'Pære' 'Banan' 0 1 2 VerdiNøkkel Element 1 Element 2 Element 3

6 Matriser  Skal ha god grunn for å skrive noe slikt: file_01 = ; file_01 = ; file_02 = ; file_02 = ;  Bruk heller array.

7 7 Assosiative matriser  Samler data på en brukervennlig måte  Strenger eller tall som nøkkelverdier  Operatoren => brukes for å koble nøkkel og verdi

8 8 Eksempler // Opprette et assosiativt array $bruker = array( 'fornavn' => 'Rasmus', 'etternavn' => 'Lerdorf' ); // Alternativt $bruker['fornavn'] = 'Rasmus'; $bruker['etternavn'] = 'Lerdorf'; // Hente ut verdiene echo $bruker['fornavn'].' '.$bruker['etternavn'];

9 9 Verdt å merke seg  Hvis ingen nøkkel er angitt vil PHP tilegne en nøkkel som er én større enn siste tallbaserte nøkkel (eventuelt 0 på første nøkkel) $matrise = array( “dyr” => “Hund”, 4 => “føtter”, 21, 10 => false, “ekorn” => “nei”, 1000 ); “Hund” “føtter” 21 false “nei” 1000 NøkkelVerdi “dyr” 4 5 10 11 12

10 10 Løkker + matriser = sant  Løkker og matriser skaper fleksibilitet  Dersom du bruker nullbasert indeksering kan du bruke vanlig for- løkke $array = array(10, 20, 30); for($i=0; $i<count($array); $i++) { // multipliser hvert // element med 10 $array[$i] *= 10; }

11 11 foreach  Kontrollstrukturen holder rede på iterasjonene (ingen tellervariabel)  For hvert element får du to variable istedet for å bruke klammeparanteser  Gir mer lesbar kode foreach($array as $verdi) { // gjør noe med verdien // for hvert element her } // alternativt foreach($array as $nokkel => $verdi) { // gjør noe med nøkkel og verdi // for hvert element her }

12 12 Eksempel $frukter = array( 'røde' => 'Epler', 'grønne' => 'Pærer', 'gule' => 'Bananer' ); foreach($frukter as $farge => $frukt) { echo “$frukt er $farge \n”; } ● Eksempel på assosiativ indeksering og foreach

13 13 Enda et eksempel $mnd = array( 1 => “Januar”, “Februar”, “Mars”, “April”, “Mai”, “Juni”, “Juli”, “August”, “September”, “Oktober”, “November”, “Desember” ); echo “ \n”; foreach($mnd as $key => $value) { echo “\t $value \n”; } echo “ \n”;  Eksempel på endring av den tallbaserte indekseringen og foreach

14 14 Flerdimensjonale matriser  Matriser i matriser  Kan lagre veldig mye informasjon på en logisk måte i en kompleks struktur  Elementene hentes ut med å bruke flere hakeparanteser $array = array( array(10, 20, 30), array('a', 'b', 'c') ); echo $array[0][0]; // 10 echo $array[0][1]; // 20 echo $array[0][2]; // 30 echo $array[1][0]; // a echo $array[1][1]; // b echo $array[1][2]; // c

15 15 Skjemaer  Brukes til å skape interaktivitet  Består av en rekke kontroller Tekstfelter Tekstfelter Radioknapper Radioknapper Avkrysningsbokser Avkrysningsbokser Knapper Knapper Valgbokser Valgbokser

16 16 Implementasjon av skjemaer  Skjemaer starter med en skjemadefinisjon  Deretter defineres input kontroller  Skjemaet avsluttes til slutt

17 17 Forskjellen på GET og POST  GET Fører til at alle nøkler og verdier overføres i hodet til forespørselen og er endel av URL'en Fører til at alle nøkler og verdier overføres i hodet til forespørselen og er endel av URL'en Nyttig dersom URL'en skal være mulig å legge til i “bokmerker” eller linke til URL'en direkte Nyttig dersom URL'en skal være mulig å legge til i “bokmerker” eller linke til URL'en direkte  POST Fører til at alle nøkler og verdier overføres i kroppen til forespørselen og er ikke endel av URL'en Fører til at alle nøkler og verdier overføres i kroppen til forespørselen og er ikke endel av URL'en Kan ikke legges i bokmerker Kan ikke legges i bokmerker

18 18 Spørrestreng (query string)  Teksten i adressefeltet kalles URL (Uniform Resource Locator) Identifiserer en unik adresse på internett Identifiserer en unik adresse på internett  Alt etter spørsmålstegnet kalles en spørrestreng (query string) http://pear.php.net/search.php?q=xml&in=packages&x=0&y=0 Spørrestreng

19 19 Oppbygning av spørrestrengen  Ingen informasjon blir overført filnavn.php filnavn.php  Overføring av en verdi filnavn.php?poststed=Oslo filnavn.php?poststed=Oslo  Overføring av flere verdier med &-tegnet filnavn.php?poststed=Oslo&postnummer=11 77 filnavn.php?poststed=Oslo&postnummer=11 77  Mellomrom representeres med + paamelding_til_ol.php?navn=Petter+North ug+jr paamelding_til_ol.php?navn=Petter+North ug+jr

20 20 Overføringen skjer via superglobals  Navnet på skjemaelementer er det som unikt identifiserer elementene for et script  Skjemaer som overføres med GET- metoden havner i $_GET -matrisen  Skjemaer som overføres med POST- metoden havner i $_POST -matrisen  Nøkkelen blir det som står i name -attributtet  Verdien blir det som står i value -attributtet

21 21 Eksempel skjema.html: Hva heter du? skjema.php: <?php $navn = isset($_GET['navn']) ? $_GET['navn'] : 'ukjent'; echo “Hei $navn”; ?>

22 22 Behandle skjema i samme fil skjema.php: <?php if(isset($_GET['navn'])) { // vis navn $navn = isset($_GET['navn']) ? $_GET['navn'] : 'ukjent'; echo “Hei $navn”; } else { // skriv inn navn ?> Hva heter du?


Laste ned ppt "1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen."

Liknende presentasjoner


Annonser fra Google