I gang med PHP

Tags:    php
Skrevet af Bruger #1 @ 15.05.2002
I gang med PHP

PHP er genialt! Så let kan det siges. Du kan gøre næsten alt med PHP, og det er et behageligt sprog at bruge. Denne artikel vil hjælpe dig i gang med at lære PHP, og er primært beregnet til folk der ikke har nogen erfaring med sproget. Jeg vil starte med at vise nogle helt basale eksempler på hvordan PHP bruges, og vil derfor forklare lidt om forskellige ting som løkker, arrays osv. En af de mest basale ting i PHP er nok at skabe et output, altså noget som browseren vil vise. Det er vigtigt at du forstår ideen bag et serverside sprog som PHP. Det fungerer ved at en fortolker på serveren kigger dit PHP dokument igennem, udfører den kode du har skrevet, og returnerer tekst og evt. HTML kode. Det er nemlig noget brugerens browser kan forstå at vise! Dem der kigger på din PHP side i browseren vil altså ikke kunne se din PHP kode, og det åbner jo op for endnu flere smarte muligheder. Jeg vil forsøge at vise det med et lille eksempel. Husk på at al PHP kode skal være imellem tegn, og være gemt i et dokument med en endelse som fx .php. Du kan placere din PHP kode hvor du vil i et dokument, også fx midt imellem HTML kode.
<?
$tekst = "Hello world";
echo "Variablen indeholder: ".$tekst;
?>
Det er et virkeligt simpelt eksempel! Først oprettes der en variabel kaldet "tekst". En variabel er bare en måde at gemme en værdi på, som senere kan ændres eller bruges. I dette tilfælde bruger vi den bare, vi udskriver den nemlig med echo, sammen med noget andet tekst. Vi udskriver nemlig først "Variablen indeholder: ", og derefter selve variablen. Vi kunne godt have brugt først en echo til at udskrive teksten, og derefter en echo til at udskrive variablen, men det kan gøres helt enkelt på engang, ved at adskille tekst og variabel med et punktum.

Lidt om tid

Nu vil jeg lige vise et par små tricks som er meget sjove at kunne, omhandlende tid. Med funktionen date i PHP kan du nemlig gøre en masse smarte ting. Det vil samtidig også vise dig hvordan du let kan få et resultat tilbage fra en funktion, og gemme resultatet i en variabel der så senere kan vises, samt hvordan det kan gøres helt uden en variabel! Jeg har kommenteret hver enkel ting med //. Det er en af måderne man kommenterer sin kode i PHP med, og du kan derfor også indsætte mine kommentarer i dit dokument. Eller slette dem. Det er op til dig selv :)
<?
// Find den aktuelle dato
$dato = date("d-m-Y");

// Find det aktuelle tidspunkt
$tid = date("H:i:s");

// Udskriv dem
echo "Datoen er i dag d. ".$dato." og klokken er ".$tid;

// Udskriv dato og tid uden brug af variabler
echo date("d-m-Y H:i:s");
?>

Variabler og formularer

Lad os med det samme gøre det lidt sværere, og samtidig bruge noget af det PHP er bedst til, nemlig at blive brugt af en formular. Ved hjælp af en HTML formular kan du lade dine brugere indtaste en værdi, og derefter få PHP til at vise den. Her er et godt lille eksempel. Vi starter med formularen, og har derefter noget PHP kode der kan vise resultatet.
<form method="POST" action="<?=$PHP_SELF;?>">
Dit navn:
<input type="text" name="navn">
<input type="submit" name="sendt" value="ok">
</form>
<?
if($sendt) {
	echo "Dit navn er ".$navn;
}
?>
Okay, her er lidt forklaring. Vi starter med en HTML formular, som du bør kende til. Ellers er det måske smart at lære lidt HTML før du forsøger at lære PHP! Derefter har vi noget PHP kode. Som du kan se er det sådan set sammen med HTML koden, det er bare imellem de to tegn. Det først vi bruger er et if-statement. PHP er lavet så smart at man kan se om en variabel er sat bare ved at sige if($variabel). I dette tilfælde kigger vi på om variablen $sendt er sat. Du kan måske undre dig over hvordan den bliver sat på noget tidspunkt, men det har naturligvis en forklaring! Hvis du lægger mærke til det har knappen i vores formular nemlig navnet "sendt". Når en formular sendes af sted, er PHP i stand til at kigge på alle de elementer der er i formularen, og opretter derefter en variabel med samme navn som formular elementet. I dette tilfælde laver PHP altså to variabler, nemlig en der hedder $navn (ud fra vores formularfelt hvis name er sat til "navn"), og en der hedder $sendt (ud fra vores formularfelt (knappen) hvis name er sat til ”"sendt"”). Hvis formularen er sendt, vil $sendt have værdien" ”"ok”, fordi det er knappens value. Hvis formularen er sendt, udskriver vi så variablen $navn, som vil indeholde den tekst som brugeren har indtastet i formularfeltet. Totalt simpelt, men alligevel virkelig smart! I stedet for bare at udskrive variablen kunne den jo fx gemmes i en database eller lignende, men det må blive en anden gang.

Validering af formularer

Man kunne også forestille sig at du gerne ville tjekke om brugeren rent faktisk havde udfyldt sit navn (og evt. andre felter som du selv har tilføjet til din formular). Det kan laves meget nemt med PHP. Du har jo lige lært hvordan du tjekker om en variabel har en værdi, så det er bare at bruge samme teknik, bortset fra at der nu skal tjekkes om en variabel IKKE er sat, i stedet for om den er sat. Det gøres ved at sætte et udråbstegn foran variablen. Eksemplet fra før kan så komme til at se således ud:
<?
if($sendt) {
	if(!$navn) {
		echo "Udfyld venligst feltet med dit navn!";
	} else {
		echo "Dit navn er ".$navn;
	}
}
?>
Det giver mig nemlig også en chance for at vise hvordan et else-statement bruges. Det er jo ganske nemt at overskue. Hvis ikke variablen $navn har en værdi, er det fordi brugeren ikke har udfyldt feltet. Derfor beder vi brugeren om at udfylde det. Hvis det er udfyldt viser vi navnet, ligesom før! Nu skulle du gerne have en god ide om hvordan du kan lege lidt med variabler og formularer i PHP. Det er dog stadig kun meget basale ting der er blevet gennemgået, men det burde være muligt for dig at udvide dem til at kunne gøre mere avancerede ting. I næste artikel vil jeg forklare lidt om hvordan du kan bruge løkker, arrays og sikkert lidt mere :)



Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (18)

User
Bruger #2165 @ 01.03.03 17:46
I underoverskriften: Variabler og formularer
Skriver du: action="<?=$PHP_SELF;?>"

Jeg ved godt hvad funktionen action gør og jeg har da også brugt den i andre sammenhæng, men jeg har aldrig set er der kunne stå det i!

Kan du ikke lige hurtig forklare hvorfor det står der? Og hvad det betyder?
User
Bruger #3297 @ 02.04.03 15:49
hey kasper jeg kan ikke lade værre med ar sige fed hjemmeside men hvilket program skal man bruge? (jeg har hørt noget om at phpmyadmin skulle værre meget god) men vær gang jeg går ind på dette link phpwizard.net sker der ikke noget!!
User
Bruger #2421 @ 25.05.03 00:50
Artiklen burde nok omskrives, så den tager højde for at register_globals er sat til off, hvilket det gudskelov er hos de fleste hosting-firmaer.
User
Bruger #3997 @ 27.05.03 13:57
Det er en fin beskrivelse af hvordan funktionen virker, men hvorfor fa... får jeg ikke noget output når jeg kører det ?? Kan det have noget med min php at gøre ??
User
Bruger #2165 @ 01.06.03 20:47
Finn Christensen, måske er det fordi du ikke kører programmet fra en server...

Husk på at php er et server sprog!
User
Bruger #4201 @ 18.07.03 15:19
jeg kan ikke få det til at virke !
nå jeg har skrevet mit navn og trykket ok så sker der intet nyt.
den skriver ikke dit navn er:<mit navn>!
Hvad er det jeg gør forkert ?
User
Bruger #4525 @ 29.09.03 14:20
lol
User
Bruger #4023 @ 18.12.03 08:02
Syntes det er en kanon artikel. Man får kort, men grundigt fortalt hvad de ting gør, som du bruger. Det eneste minus er, at den ikke er længere.... ;)
User
Bruger #4929 @ 07.01.04 22:22
Takker
denne artikel hjalp en del :)
du må godt lave en til (højere neavu)
men husk lige "enter" en gang imellem :)
User
Bruger #5005 @ 09.01.04 13:43
Jeg syned det er en god artikel, jeg kunne godt nok ikke få den til at vise mit navn.. samme fejl som "Morten [Crinc]"... Jeg er selv meget nybegynder... men det kommer...
User
Bruger #3763 @ 09.03.04 17:51
jeg syntes det er en mega god artikel.

lige til alle jeg som siger i ikke kunde få den til at vise jeres navn. det er fordi i trykker på enter og ikke på den knap så er på side(har nemlig selv prøvat at jeg ikke nunde få den til at vise mit navn)
User
Bruger #5566 @ 19.05.04 17:42
God Arktikkel men jeg kan bare ikke gøre sådan at det kun står tiden og ik med dato på..
User
Bruger #5956 @ 28.06.04 18:57
Uha, Ekstremt fod begynder artikel, Er lige begyndt på PHP.. Har ikke forstået så mange andre artikler, Men den har var virkelig god!
User
Bruger #6089 @ 06.07.04 19:21
God nok artikel tror jeg nok...
Jeg er selv lige begyndt og aner intet om php, og jeg har hørt at man skal have nogen programmer for at lave php. Hvad er det for nogle programmer? og kan jeg downloade dem gratis nogen steder?
User
Bruger #5400 @ 15.10.05 10:12
du glemte at fortælle hvad man skal gemme selve dokumentet i? altså når man laver html skal man i gemme det i f.eks. "test.htm" for dem der er helt nye ville det måske være godt at fortælle hvad man skulle gemme php dokumenterne i?
User
Bruger #8280 @ 03.11.05 12:08
Jeg siger mange tak for en god artikel.
User
Bruger #11341 @ 14.02.07 13:37
God artikel!

Hvis vil i gang med PHP kan i også finde en række gode hjælpe videoer her: http://auktioner.qxl.dk/vibyjylland - der kører nogle auktioner med php videoer på dansk!
User
Bruger #4487 @ 06.05.10 21:42
mhh

Jeg kan ikke få noget output, når jeg skriver i min form!
De 2 andre eksempler virker, men ikke den sidste???
Du skal være logget ind for at skrive en kommentar.
t