PHP-skola |
|
24/08-03 | Niklas "Nicke." Berggren | f1restorm@hotmail.com
Då så, ska jag skippa snacket och börja visa kod kanske?
En mycket grundläggande sida i HTML brukar se ut som följer;
<html> <head> <title>Sidtitel</title> </head> <body> Innehåll på sidan </body> </html>
Känns det bekant? Om nej, kan du sluta läsa nu. Känns det däremot igen så börjar vi med PHP, jag demonstrerar här ett script som ger samma output.
<?php echo "<html> \n"; echo "\t<title>Sidtitel</title>\n"; echo "\t\t<title>Sidtitel</title>\n"; echo "\t</head>\n"; echo "\t<body>\n"; echo "\t\tInnehåll på sidan\n"; echo "\t</body>\n"; echo "</html>"; ?>
Spara ovanstående som filnamn.php och kör igång via din webserver så ser du resultatet. Ganska identiskt med HTML-exemplet, inte sant?
Har du programmerat bara litegrann i C förut så känns det ganska bekant eller hur?
Då bryter jag ned koden i bitar och förklarar den för er.
"<?php" aktiverar (i brist på bättre ord) php-språket i din fil, så länge du inte skriver den
motsatta taggen "?>" så är det PHP som gäller, inte HTML.
Innan jag går för långt in i det här får jag påminna om att <?php inte är en vanlig HTML-tagg, den
tolkas istället av din webserver, som i sin tur skickar resultatet. En webbrowser ser aldrig röken
av din PHP-kod.
Det här exemplet använder bara en sk. construct, nämligen echo, som jag tänkte förklara först eftersom
det kommer vara bland det främsta du använder i dina första script.
Echo skriver helt enkelt ut vad som finns mellan citationstecknen. Det första echo-exemplet ser ut som
följer; echo "<html>\n";. Ni kan enkelt gissa att den skriver tecknen "<html>". Vad ni
kanske inte kan gissa är att \n ger en ny rad och att \t ger en ny tabbning. Dessa är inte
nödvändiga, men det får din resulterande HTML att se mer strukturerad ut.
En enda echo kan användas över flera rader för att undvika en \n om du ska skriva ut ett större stycke, som såhär;
<?php echo "Rad Ett.<br> Rad Två."; ?>
På så sätt slipper du alla dessa "\n" samt att skriva "echo" om och om igen.
Det finns inget som hindrar dig att använda HTML ihop med PHP. Se följande exempel.
<html> <head> <title>Sidtitel</title> </head> <body> <?php echo "Innehåll på sidan"; ?> </body> </html>
De första 5 raderna är vanlig HTML som du känner igen allt för väl, raderna 6, 7 och 8 däremot är PHP. "<?php" säger åt din webserver att det nu är PHP som gäller, nästa rad säger åt din webserver att skriva ut texten "Innehåll", den 8:e raden säger åt din server att PHP inte längre är aktuellt. Enkelt, inte sant?
Då så, föregående 2 kodexempel gjorde ingenting åt dig som HTML inte hade kunnat göra, där var PHP
fullständigt onödigt. Nu ska jag börja visa lite mer intressant kod.
Har du sysslat med matematik på ens låg nivå vet du vad en variabel är och vad ordet betyder, så jag
tänker inte gå in på att förklara vad en variabel är.
En variabel i PHP identifieras av ett dollartecken, $, framför variabelnamnet. Se följande exempel;
<html> <head> <title>Sidtitel</title> </head> <body> <?php $hej = "Hej på er!"; echo $hej; ?> </body> </html>
I variabeln $hej sparas värdet "hej på er", efter det använder vi constructen echo för att skriva ut
innehållet i $hej. Variabler kan innehålla både siffror och texter (strängar). Vill du spara texter
i en variabel får du använda citationstecken som i exemplet, vill du däremot spara t.ex. värdet 5 i
en variabel behövs det inte, då ser det helt enkelt ut såhär;
$fnuffra = 5;
Man talar om att det finns fyra typer av variabler; integers, floats, strings och booleans.
En integer är ett heltal, en float är ett tal med decimaler, en string
är en textsträng och en boolean kan bara ha två värden, sant eller
falskt (TRUE, resp. FALSE).
En array är en slags variabel, fast den kan innehålla flera värden samtidigt. Du kan se det som såhär; en variabel är en hylla med ett fack, du lägger precis vad du vill i det facket. En array är en hylla med flera fack. Du kan lägga en siffra i ett fack, en text-sträng i ett annat fack, men det är fortfaranda samma hylla. Se följande:
<?php $array[0] = 6; $array[1] = 8; $array[2] = -3; ?>
Variabeln heter $array, men nu har vi deklarerat 3 st fält, 0, 1 och 2, som innehåller ett värde var.
En array behöver inte nödvändigtvis ha ett numrerat fält, utan kan även ha ett namn.
<?php $array['Namn'] = "Claes Nilsson"; $array['Address'] = "StorStadsVägen 12, Storstaden"; ?>
Varför skulle du då vilja ha en array? Av flera anledningar faktiskt. Bland annat kommer frågan om struktur upp igen. I ovanstående exempel hade du kunnat använda $namn = "Claes Nilsson" och $address = "StorStadsVägen12, Storstaden", eller hur? Detta är sant, men tänk om du hade 20 olika namn att arbeta med? Titta på följande:
<?php $namn[0] = "Claes Nilsson"; $namn[1] = "Mona Kroon"; $namn[2] = "Asterix"; $namn[3] = "Obelix"; $address[0] = "StorStadsVägen 12, Storstaden"; $address[1] = "The WestSide, New York"; $address[2] = "Den galliska byn"; $address[3] = "Den galliska byn"; ?>
Det ser mycket bättre ut än att ha 8 olika variabler med halvknepiga namn på eller hur?
« Föregående | Nästa sida » |
Utskriftsvänligare version
Diskutera denna artikeln i vårt forum!