Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertChristina Simonsen Endret for 9 år siden
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?
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.