SlideShare a Scribd company logo
1 of 20
Web apps i
PHP

Eksempler og links kan efterfølgende findes på
http://appacademy.dk

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
Opgaven fra sidst
• 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
Dagens case
• Redigering af en brugers profil på et socialt
medie
–
–
–
–

Navn og adgangskode
Profilbillede
Log-in
Huske brugerens brugernavn

App Academy

www.appacademy.dk
@appacademydk
Formular
<form action="redigerprofil.php"
method="post">
…
</form>

App Academy

www.appacademy.dk
@appacademydk
Indsendte data
• GET
– Til beskeder, der kan sendes igen (søgninger)
– $_GET[”navn”]

• POST
– Til beskeder, der ikke kan sendes igen (tilføj til
indkøbskurv)
– $_POST[”navn”]

• Ligeglad
– $_REQUEST[”navn”]

App Academy

www.appacademy.dk
@appacademydk
Gem data i fil
<?php
$fil = fopen(
$_REQUEST["brugernavn"] . ".txt",
"w");
fwrite($fil, $_REQUEST["adgangskode"]);
fclose($fil);
?>

App Academy

www.appacademy.dk
@appacademydk
Gem data i fil
<?php
$fil = fopen(
$_REQUEST["brugernavn"] . ".txt",
"w");
fwrite($fil, $_REQUEST["adgangskode"]);
fclose($fil);
?>

App Academy

www.appacademy.dk
@appacademydk
Parametre til filer
Parameter

Betydning

r

Kun læsning. Starter ved filens begyndelse.

r+

Læsning og skrivning. Starter ved filens begyndelse.

w

Kun skrivning. Overskriver en eksisterende fil, eller opretter en ny,
hvis filen ikke findes.
Læsning og skrivning. Overskriver en eksisterende fil, eller opretter
en ny, hvis filen ikke findes.
Tilføjelse. Åbner filen og skriver i slutningen af den. Opretter en ny
fil, hvis filen ikke eksisterer.
Tilføjelse og læsning. Åbner filen, og skriver i slutningen af den.
Opretter en ny fil, hvis filen ikke eksisterer.
Kun skrivning. Opretter en ny fil, hvis filen ikke eksisterer. Giver en
fejl, hvis filen eksisterer i forvejen.
Læsning og skrivning. Opretter en ny fil, hvis filen ikke eksisterer.
Giver en fejl, hvis filen eksisterer i forvejen.

w+

a
a+
x
x+

App Academy

www.appacademy.dk
@appacademydk
Upload af filer
<form action="redigerprofil.php"
method="post"
enctype="multipart/form-data">

App Academy

www.appacademy.dk
@appacademydk
Upload af filer
$file_name = $_REQUEST["brugernavn"] . ".jpg";
move_uploaded_file(
$_FILES["profil"]["tmp_name"],
$file_name);

App Academy

www.appacademy.dk
@appacademydk
Login
• Hvordan kontrollerer vi, om adgangskoden er
rigtig?

App Academy

www.appacademy.dk
@appacademydk
Sessioner
• Session = et sammenhængende besøg på
webstedet
– Samme bruger
– Inden for et begrænset tidsrum

• Oplysninger kan overføres mellem sider inden
for samme session.

App Academy

www.appacademy.dk
@appacademydk
Sessioner
session_start();
$_SESSION["brugernavn"] = $brugernavn;
isset($_SESSION["brugernavn"])

App Academy

www.appacademy.dk
@appacademydk
Kontrol af login
<?php
if (!isset($_SESSION["brugernavn"])) {
header("Location: login.php");
}
?>

App Academy

www.appacademy.dk
@appacademydk
Cookies
• Husker oplysninger i mellem sessioner
• Gemmes i brugerens hjemmemappe på
computeren.

• ”Bekendtgørelse om krav til information og
samtykke ved lagring af eller adgang til
oplysninger i slutbrugeres terminaludstyr”

App Academy

www.appacademy.dk
@appacademydk
Cookies
setcookie("brugernavn",
$_REQUEST["brugernavn"]);
echo $_COOKIE["brugernavn"];

App Academy

www.appacademy.dk
@appacademydk
Cookies
setcookie("brugernavn",
$_REQUEST["brugernavn"]);
echo $_COOKIE["brugernavn"];

App Academy

www.appacademy.dk
@appacademydk
En opgave at gå hjem på
• Kan I huske ”Gæt et tal”?
• Brug sessionsvariabler til
– At huske det rigtige tal
– At tælle hvor mange gange brugeren har gættet

• Vis antal gæt for brugeren
• Tip: et tilfældigt tale laves med
$tal = rand(1,10);
• Vejledende løsning 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

Similar to Web apps i PHP [app academy]

080606 Introduktion
080606 Introduktion080606 Introduktion
080606 Introduktionguest4fa996
 
WordPress Themes
WordPress ThemesWordPress Themes
WordPress Themesrisager
 
Notes til XPage på 1 time
Notes til XPage på 1 timeNotes til XPage på 1 time
Notes til XPage på 1 timeJakob Majkilde
 
CV 2016 - Huan Minh Vuong
CV 2016 - Huan Minh VuongCV 2016 - Huan Minh Vuong
CV 2016 - Huan Minh VuongHuan Vuong
 
Clio online flow undervisning
Clio online flow undervisningClio online flow undervisning
Clio online flow undervisningJan-Erik Revsbech
 
Automatiseret test af Drupal sites med Behat
Automatiseret test af Drupal sites med BehatAutomatiseret test af Drupal sites med Behat
Automatiseret test af Drupal sites med BehatReload! A/S
 

Similar to Web apps i PHP [app academy] (8)

Wordpress for foreninger | appacademy.dk
Wordpress for foreninger | appacademy.dkWordpress for foreninger | appacademy.dk
Wordpress for foreninger | appacademy.dk
 
080606 Introduktion
080606 Introduktion080606 Introduktion
080606 Introduktion
 
Videregående html [App Academy]
Videregående html [App Academy]Videregående html [App Academy]
Videregående html [App Academy]
 
WordPress Themes
WordPress ThemesWordPress Themes
WordPress Themes
 
Notes til XPage på 1 time
Notes til XPage på 1 timeNotes til XPage på 1 time
Notes til XPage på 1 time
 
CV 2016 - Huan Minh Vuong
CV 2016 - Huan Minh VuongCV 2016 - Huan Minh Vuong
CV 2016 - Huan Minh Vuong
 
Clio online flow undervisning
Clio online flow undervisningClio online flow undervisning
Clio online flow undervisning
 
Automatiseret test af Drupal sites med Behat
Automatiseret test af Drupal sites med BehatAutomatiseret test af Drupal sites med Behat
Automatiseret test af Drupal sites med Behat
 

Web apps i PHP [app academy]