Program Design – 4 Introduktion til PHP. Dagens lektion Hvad er PHP?  - og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker.

Slides:



Advertisements
Lignende præsentationer
Kort om JavaScript Afvikles i browser på klienten Sendes fra server (php, asp, aspx, htm) eller startes i klient som htm/html fil. Skabelon: –”main” -
Advertisements

Stored Procedure Stored Procedure er programstumper, der gemmes i databasen og afvikles op databaseserveren på samme måde som forespørgsler. Med Stored.
Klik på Aktivér redigering på meddelelseslinjen.
Dag 4 Fortryk-knap og videre til kasse Dagens program: 1.Fortryd-knappen ud for hver vare i kurven skal virke Formiddagens arbejde:
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Intro Forelæsning 2 Linux install-party lør.14.sept kl – man. 14.okt – Kursets omfang :7,5 ECTS Kursussammensætning: forelæsning.
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
Grundlæggende programmering Efterår 2001
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
Dag 3 Indkøbskurv Jeres sider er nu synlige på Dagens program:
Introduktion til Access (Access, del 1)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
GP 10, 7/ Grundlæggende programmering Efterår 2001 Forelæsning 10 onsdag 7/ kl. 9:15 – 12:00.
Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 1 HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner,
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Intro Projekttyper v/ Lise Louv, Uddannelsesafdelingen Siden sidst: evaluering på opgaver og virtuel kursus. Kursets ugeforløb læse – forelæsning – øvelsestime.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Intro Forelæsning 6 Linux Install Party i PC-Cafeen i morgen.
1 Webdesign - De første trin Grundliggende begreber Internettet (1969-): En fællesbetegnelse for netværk eller tjenester der benytter samme.
Intro Bemærkninger? Præsentation af litteratur: PHP and MySQL Web Development (SAMS) PHP Pocket Reference (O’Reilly) Dictionary of Networking (Sybex)
Programmering af dynamiske websider pages/tutorials/introducing-aspnet- web-pages-2/intro-to-web-pages- programming.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Delphi og C++ Builder C++ Builder. C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup En objektorienteret videreudvikling.
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
Opsamling og repetition. Forelæsning 12 1) Opsamling og repetion - arrays - PHPs mysql-funktioner - SQL: SELECT, UPDATE, INSERT, DELETE - sikkerhed og.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Procestræ under afvikling af cp init login shell cp cp src dest.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Paradigmer i Programmering 1. Program for idag : Funktioner og udtryk i SML : Øvelse : Frokost – 14.00: Deklarative.
DWDK Øvelsesgang 2. Tegnsæt: utf-8 vs. iso Utf-8 = universelt tegnsæt Giver advarsel i validator Dokument skal gemmes i utf-8 format i notepad.
Paradigmer i Programmering 1. Plan for kurset 4 x Mads R, 4 x Torben B, 2 x opgave MR: Funktionsprogrammering, SML TB: Logikprogrammering, Prolog Opgave:
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Intro Siden sidst: evaluering på opgaver og virtuel kursus Kursussammensætning: forelæsning – læse – arbejde selvstændigt – newsgroup – øvelsestime – aflevering.
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
PHP.
Grundlæggende DW, HTML, CSS, udskæring.
Økonometri 1: Den multiple regressionsmodel1 Økonometri 1 Den multiple regressionsmodel 15. februar 2006.
Øvelsestimer (opgave 3) v/Morten Davidsen Læser til daglig cand.merc.(dat.) på CBS.
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg.
Opsamling og repetition. Forelæsning 12 Hvad I ikke lærte Repetition? - date() - arrays - echo og return I funktioner - strukturering af script - navngivning.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Multiple processer på web-site Web- server filer Kunde 1 Kunde 2 Kunde p1p2p internet.
Variable og arrays Webintegrator HF1 PHP Object orienteret.
Form i PHP Webintegrator HF1 PHP Object orienteret.
Password hashing Webintegrator HF1 PHP Object orienteret.
PHP Intro Webintegrator PHP. PHP Baggrund PHP er et server-side programmeringssprog anvendt til udvikling af dynamiske webapplikationer og websteder.
Objecter Introduktion Webintegrator HF1 PHP Object orienteret.
Web- og serverprogrammering
WebApi service part 2 Routning og Action Simpel test-client (javascript) Session og Application data.
1587 Server - Blandet miljø Webintegrator HF1
Forelæsning Uge 4 – Mandag
1587 Server - Blandet miljø Webintegrator HF1
Simpel test-client (javascript) Session og Application data
Studiepraktik Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Programmering.
Præsentationens transcript:

Program Design – 4 Introduktion til PHP

Dagens lektion Hvad er PHP?  - og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker og Selektion  Funktioner PHP i aktion  Include  Forms og URL parametre  Cookies  Sessions  Filer

Web-klientWeb-server PHP Script Html-form Sender form data Kalder PHP fortolker Svar Web-browser WWW Svar Server-side afvikling af PHP scripts

PHP Historie ”Opfundet” af Rasmus Lerdorf i 1994  Udviklet for at han kunne følge/overvåge besøgende på sit web- site PHP er et ”open-source” produkt PHP var en forkortelse for ”Personal Home Page”, nu er det ”PHP: Hypertext Preprocessor” PHP brugs til form håndtering, fil håndtering og database adgang

Fortolkning af PHP scripts PHP processor PHP dokument HTML dokument InputOutput PHP dokumentet indeholder HTML elementer med indlejrede PHP script(s) HTML elementer kopieres blot til output filen PHP scripts fortolkes og kan producere output som sendes til output filen

PHP indlejres i HTML PHP scripts kan frit indlejres i HTML dokumenter <?php … ?> PHP dokumenter har fil-extension:.php

Eksemple: <!DOCTYPE html PUBLIC "-//w3c//DTD XHTML 1.0 Strict//EN" " idag.php <?php print " Vores første PHP dokument "; print "Idag er : "; print date("l, F jS"); print " "; ?> Copy-mode Interpret-mode (fortolker-mode) Copy-mode Link

Output print print ” Vores første PHP dokument ”; echo echo ” Vores første PHP dokument ”; echo ” Vores første”, ” PHP dokument ”,”…”; printf $pris = 9.95; printf(” %4.2f”,$pris); - giver 9.95 Link

Sproget - PHP De grundlæggende concepter i PHP som data typer, løkker...

Erklæring af variabler Alle variabel navne starter med $ Variable erklæres når de bruges Erklæringer behøver ingen type angivelse $minVariabel = 0; $minVariabel = ”en tekst streng”; $minVariabel = $en_anden_variabel; Link

Data Typer - Tal Heltal (integer)  – 7, 8, -1, Reelle tal (double)  7.2, -7.5, 7e12 $etTal = 8; $etAndetTal = 17 + $etTal;

Typer - boolske værdier En boolsk værdi er enten  TRUE, eller  FALSE $enBool = FALSE; $enAndenBool = TRUE; $enBool = 7==5; - giver false $enBool = 7>5; - giver true

Typer – Tekst En string er en række af tegn omgivet af ” eller ’  ’ (single quoted) – variable og escape-sekvenser bliver ikke ”udvidet”  ” (double quoted) - variable og escape-sekvenser bliver ”udvidet” $etTal = 42; ’Tallet er $etTal’ – giver: Tallet er $etTal ”Tallet er $etTal” – giver: Tallet er 42 ”Tallet er \$etTal” – giver: Tallet er $etTal Link

Typer – Tekst (2) Sammensætning $navn = ”Florian”. ” ”. ”Pilz”; – giver: Florian Pilz Bogstavindeks $str = ”Florian Pilz”; print $str{3} ; – giver r Link

Special tegn \nlinefeed \rcarriage return \thorizontal tab \\backslash \$dollar sign \"double-quote “line med \n linieskift og en backslash \\”

Løkker $a = 0; while ($a<10) { $a = $a + 1; print $a. ” ”; } for ($a=0; $a<10; $a++) { print $a. ” ”; } Link While- og for-løkker har samme syntaks (og semantik) som i JavaScript

Selektion if (a==5) { … } else { … } if og sammenligning fungere på næsten samme vis som i JavaScript if (a==5) { … } elseif (a>7) { … } sammenligninger eksempel på if

Erklæring af Funktioner (1) Funktioner defineres på samme vis som i JavaScript function navn(parameter,…) { kommando; …; return værdi; }

Erklæring af Funktioner (1) function udregn($tal1, $tal2) { return $tal1 + $tal2; } function printBool ($b) { if ($b==TRUE) print ”TRUE”; else print “FALSE”; } Link

Scope En variabel som bruges i en funktion er lokal i funktionen function udregn($tal1,$tal2) { $resultat = $tal1 + $tal2; return $resultat; } $resultat = 17; $svar = udregn(1,5); print (”Efter udregn(1,5) er kaldt er \$resultat: $resultat ”); print (”og \$svar er $svar”); En funktion skal opfører sig på samme måde uanset fra hvilken kontekst den kaldes $resultat’s levetid start $resultat’s levetid slut Link

PHP i aktion Konkret anvendelse af PHP

Hvordan ved jeg om en webserver understøtter PHP? Lav en tom php fil, kald følgende funktion: <? php phpinfo(); ?> Personlige og gruppe hjemmesider understøtter PHP.

Include (1) Eksterne PHP dokumenter kan indlejres: include (”mitScript.inc”); Filen mitScript.inc kan både indeholde PHP scripts og HTML. Hvis filen indeholder PHP, skal det placeres i ,  også selv om include allerede er i Link

Include (2) <?php include “mitscript.inc”; head(“En titel”); ?> Det bliver nemt at lave ændringer som har global effekt på et web-site Man kan gruppere bestemt funktionalitet i en include-fil  Eksempelvis samle database tilgang Ved hjælp af funktioner som tager parametre kan man lave ”variable” abstraktioner Link

Forms og PHP (1) PHP laver en variabel for hvert form element med samme navn som elementet, men det kan være lidt tricky: Link

Forms og PHP (2) Import Request Variables import_request_variables(gp,””); Form værdi samlinger  $_POST[”forfatter”],  eller $_GET[”forfatter”] Konfigurere server (register_globals) Link

URL parametre Generel form url?variabel1=værdi&variabel2=værdi&... … import_request_variables(g,””); echo ’Variablen er ’. $enVar; Link

Cookies En cookie er et stykke tekst som en web-server kan gemme på en brugers hard disk Cookies giver et web-site mulighed for at gemme information på brugerens computer som senere kan hentes Cookies indeholder par af navne og værdier Men, ofte bruges cookies kun til at holde en information – unikt bruger id

Cookies (2) En klient beder om en web-side, f.eks. Browseren tjekker om der ligger en cookie fra på computeren – hvis der gør sender browseren cookie afsted sammen med forespørgelsen modtager både forespørgelse og cookie ”Web-site’et” kan frit ændre i cookies

Cookies (3) setcookie (  navn, - navnet på cookien  værdi, - en tekststreng  expire, - sekunder siden 1/  path, - cookie for dele af et website  domain, - cookie for subdomæner  secure – skal der bruges en sikker forbindelse  ); Skal kaldes inden output genereres

Cookies (4) $ value = ’Noget tekst som er proppet i en cookie i dag – ’. date(”l dS of F Y h:i:s A”); setcookie(”mincookie”, $value, time()+3600); getcookiesetcookie import_request_variables(c,””); print $mincookie; Eller, $cookie = $_COOKIE[”mincookie"];

Sessions (1) Sessions er et alternativ til cookies Når en bruger besøger et web-site tildeles denne et unikt id, kaldet et session id Session id’et gemmens enten i en cookie eller sendes rundt på web-site’et som URL parameter Vilkårlige variable kan registres i en session

Sessions (2) Før noget output genereres session_start(); For at registrere en variabel $_SESSION[’variabel_navn’] = værdi; For at tjekke om en variabel er registreret isset($_SESSION[’variabel_navn’]); Link

Sessions (3) Hvis cookies ikke er tilladte bruges konstanten SID – er tom hvis cookies ’virker’ if (SID!=0) echo ’.. ’; else echo ’.. ’; Hvis man vil se session id session_id(); Link

Filer (1) Åbning af en fil $fil = fopen(”sti_til_fil”, ”mode”); mode skriv og læs fra slutning’a+’ skriv fra slutning’a’ skriv og læs fra start’w+’ skriv til start’w’ læs og skriv fra start’r+’ læs fra start’r’

Filer (2) Læse $fil = fopen(”data.txt”, ”r”) or die(”Kunne ikke finde filen!”); $str_fra_fil = fread($fil, filesize(”data.txt”)); Skrive $fil = fopen(”data.txt”, ”a”) or die(”Kunne ikke finde filen!”); fwrite($fil, ”noget tekst”)); Link

Hvad har jeg undladt? Arrays  En særdeles fleksibel datastruktur i PHP  Kræver i sig selv en hel forelæsning :-( Pattern matching  Regulære udtryk

Dagens emner Hvad er PHP?  Og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker og Selektion  Funktioner PHP i aktion  Include  Forms og URL parametre  Cookies  Sessions  Filer

Opgaver Overvej hvordan man kan udarbejde et spørgeskema til jeres projekt vha. PHP. Her er det en idet at gemme resultatet for den enkelte bruger i en fil.