SlideShare a Scribd company logo
1 of 35
Grundlæggende
PHP

App Academy

www.appacademy.dk
@appacademydk
Kristian Langborg-Hansen

Partner i App Academy
Underviser og foredragsholder
Forfatter
klh@appacademy.dk

App Academy

www.appacademy.dk
@appacademydk
Arkitektur

App Academy

www.appacademy.dk
@appacademydk
Arkitektur

App Academy

www.appacademy.dk
@appacademydk
Arkitektur

App Academy

www.appacademy.dk
@appacademydk
Kravene
• Webserver
– Apache
– Microsoft Internet Information Server (IIS)

• PHP
• Database
– MySQL

• Editor
– Notepad++

App Academy

www.appacademy.dk
@appacademydk
Genvej
• XAMPP
–
–
–
–
–

X-platform
Apache
Mysql
Php
Perl

• www.apachefriends.org

App Academy

www.appacademy.dk
@appacademydk
PHP
• Blander HTML og PHP
<b>Her er noget HTML.</b><br/>
<?php
Her er noget PHP…
?>
<p>…og noget mere HTML.</p>

App Academy

www.appacademy.dk
@appacademydk
Tekst
<?php
echo "Tekst ";
echo "med <b>HTML</b><br/>";
echo "Tekster " . " sat " .
"sammen.";
?>

App Academy

www.appacademy.dk
@appacademydk
Tal
<meta charset="utf-8"/>
<?php
echo "Bredde: " . 8 . " cm<br/>";
echo "Højde: " . 4 . " cm<br/>";
echo "Højde: " . 8 * 4 .
" cm<sup>2</sup><br/>";
?>

App Academy

www.appacademy.dk
@appacademydk
Operatorer
Operator

Betydning

Eksempel

+

Addition

5+2=7

-

Subtraktion

5 - 2= 3

*

Multiplikation

5 * 2 = 10

/

Division

5 / 2 = 2.5

%

Modulo (rest ved heltalsdivision)

5%2=1

App Academy

www.appacademy.dk
@appacademydk
Variable
• En ”post-it”, som kan have en værdi
• Har et navn
• Indledes med et dollar-tegn
– $navn
– $pris

App Academy

www.appacademy.dk
@appacademydk
Variable
<?php
$bredde = 8;
$hojde = 4;
echo "Bredde: " . $bredde .
" cm<br/>";
echo "Højde: " . $hojde .
" cm<br/>";
echo "Højde: " . $bredde * $hojde .
" cm<sup>2</sup><br/>";
?>

App Academy

www.appacademy.dk
@appacademydk
Udskrift af variable
<?php
$navn = "Daniel";
echo "Velkommen " . $navn .
"<br/>";
echo "Velkommen $navn <br/>";
echo 'Velkommen $navn <br/>';
?>

App Academy

www.appacademy.dk
@appacademydk
Specialtegn
Specialtegn

Betydning

$

Dollartegn

n

Linjeskift

r

Vognretur



Omvendt skråstreg (backslash)

”

Anførselstegn

t

Tabulator

App Academy

www.appacademy.dk
@appacademydk
Lister
• Priser på ti forskellige varer
2.95 5.25 3.00 3.15 4.75 5.50 5.99 2.95 0.99 1.50

Position 0

App Academy

Position 9

www.appacademy.dk
@appacademydk
Arrays
<?php
$pris[] = 2.95;
$pris[] = 5.25;
$pris[] = 3;
echo "Varerne koster $pris[0]
kr, $pris[1] kr og $pris[2]
kr";
?>

App Academy

www.appacademy.dk
@appacademydk
Position 0,0

Position 0,9

Tabeller

Position 9,0

App Academy

Position 9,9
www.appacademy.dk
@appacademydk
Arrays
<?php
$person['Anders']['Telefonnummer']
= '12 34 56 78';
$person['Anders']['Adresse']
= 'Vestre Alle 1';
$person['Anders']['Postnr'] = 8000;
$person['Anders']['By'] = 'Århus';

echo "Anders bor på " .
$person['Anders']['Adresse'] . ", " .
$person['Anders']['Postnr'] . " " .
$person['Anders']['By'] . "<br/>";
echo "Hans telefonnummer er " .
$person['Anders']['Telefonnummer'];
?>

App Academy

www.appacademy.dk
@appacademydk
Gætteleg
• Jeg tænker på et tal mellem 1 og 10
– Hvis dit gæt er større end det rigtige, siger jeg:
”Det var for højt”
– Hvis dit gæt er mindre end det rigtige, siger jeg:
”Det var for lavt”
– Hvis dit gæt er rigtigt, siger jeg: ”Du har vundet”

App Academy

www.appacademy.dk
@appacademydk
Gætteleg
$tal = 4;
$gaet = 7;
if ($gaet > $tal) {
echo "Dit gæt er for højt.";
}

if ($gaet < $tal) {
echo "Dit gæt er for lavt.";
}
if ($gaet == $tal) {
echo "Dit gæt er rigtigt!";
}

App Academy

www.appacademy.dk
@appacademydk
Operatorer
Operator

Betydning

==

Lig med

>

Større end

<

Mindre end

>=

Større end eller lig med

<=

Mindre end eller lig med

!=

Ikke lig med

App Academy

www.appacademy.dk
@appacademydk
Enten eller
<?php
$tal = 10;
$gaet = 7;
if ($gaet
echo
} else if
echo
} else {
echo
}

> $tal) {
"Dit gæt er for højt.";
($gaet < $tal) {
"Dit gæt er for lavt.";
"Dit gæt er rigtigt!";

?>

App Academy

www.appacademy.dk
@appacademydk
Flere betingelser
• Dit BMI er passende, hvis det er større end
18,5 og mindre end 25.
• Dit BMI er farligt, hvis det er mindre end 18,5
eller større end 25.

App Academy

www.appacademy.dk
@appacademydk
Flere betingelser
if ($bmi >= 18.5 && $bmi <= 25) {
echo "Dit BMI er passende";
}

if ($bmi < 18.5 || $bmi > 25) {
echo "Dit BMI er ikke så
godt";
}

App Academy

www.appacademy.dk
@appacademydk
Avancerede betingelser
• Beskriv et spillekort
–
–
–
–
–

1’eren hedder et Es
2 – 10 hedder 2’er, 3’er, 4’er, osv.
11 hedder knægt
12 hedder dame
13 hedder konge

App Academy

www.appacademy.dk
@appacademydk
Switch case
switch ($kort) {
case 1: echo "Es"; break;
case 11: echo "Knægt"; break;
case 12: echo "Dame"; break;
case 13: echo "Konge"; break;
default: echo "$kort'er";
break;
}

App Academy

www.appacademy.dk
@appacademydk
Gentagelser
• Gør noget et bestemt antal gange
• Gør noget så længe en betingelse er opfyldt

App Academy

www.appacademy.dk
@appacademydk
Lige tal
<?php
for ($tal = 1;
Initialisering
$tal < 50; Kørselsbetingelse
$tal = $tal + 1) {
Tællerskridt
if ($tal % 2 == 0) {
echo "$tal<br/>";
}
}
?>

App Academy

www.appacademy.dk
@appacademydk
Terning
do {
$slag = rand(1,6);
echo "Jeg slog $slag<br/>";
} while ($slag != 6);

App Academy

www.appacademy.dk
@appacademydk
Funktioner
•
•
•
•

Struktur på store PHP-sider
Genbrug af PHP-kode
Kan udregne et resultat
Kan arbejde på input-parametre

App Academy

www.appacademy.dk
@appacademydk
Areal
<?php
function areal($hojde,$bredde){
return $hojde * $bredde;
}
echo "Areal: " . areal(5, 7);
echo "Areal: " . areal(3, 9);
?>

App Academy

www.appacademy.dk
@appacademydk
Inkludering
• include "funktioner.php"
• include_once "funktioner.php"
• require "funktioner.php"
• require_once "funktioner.php"

App Academy

www.appacademy.dk
@appacademydk
En opgave at gå hjem på
• Lav en pinkodehusker
–
–
–
–

8 x 5 felter
Hver felt har en af fire farver
Udfyld med tilfældige tal
Lad brugeren rette tallene (så de passer til hans
pinkode)

• Løsningsforslag på www.appacademy.dk

App Academy

www.appacademy.dk
@appacademydk
App Academy
Dagens eksempler:
www.appacademy.dk
Kontakt:
klh@appacademy.dk

”Hos App Academy mener vi, at alle fortjener at
kunne programmere – og vi vil gerne hjælpe jer
www.appacademy.dk
med at lære det.”
App Academy
@appacademydk

More Related Content

More from Kristian Langborg-Hansen (7)

Grundlæggende html - appacademy
Grundlæggende html - appacademy Grundlæggende html - appacademy
Grundlæggende html - appacademy
 
App inventor workshop [App Academy]
App inventor workshop [App Academy]App inventor workshop [App Academy]
App inventor workshop [App Academy]
 
Avanceret css - appacademy.dk
Avanceret css  - appacademy.dkAvanceret css  - appacademy.dk
Avanceret css - appacademy.dk
 
Videregående html [App Academy]
Videregående html [App Academy]Videregående html [App Academy]
Videregående html [App Academy]
 
Grundlæggende HTML
Grundlæggende HTMLGrundlæggende HTML
Grundlæggende HTML
 
Responsive web design
Responsive web design Responsive web design
Responsive web design
 
Mobile apps med html
Mobile apps med html   Mobile apps med html
Mobile apps med html
 

Grundlæggende PHP [App Academy]