PHP. TNMK30 - Elektronisk publicering

Relevanta dokument
PHP. Dynamiska webbsidor

JAVASCRIPT. Beteende

! HTML Formulär! JavaScript! Syntax! Events! DOM. ! URL variabler i en query string (get) ! HTTP post request (post)

JS & beteende. TNMK30 - Elektronisk publicering

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering. Sahand Sadjadee

Webbservrar, severskript & webbproduktion

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Avancerade Webbteknologier

Karlstads Universitet, Datavetenskap 1

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

Introduktion till PHP

Användarhandledning Version 1.2

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Introduktion HTML och PHP 732G16 Databaser design och programmering

Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Innehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Elektronisk publicering TNMK30

Ordlistor, filhantering och ut på webben. Linda Mannila

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

Erfarenheter från labben

PHP. PHP: Hypertext Preprocessor

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Lektion 5 HTML, CSS, PHP och MySQL

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Visual Basic, en snabbgenomgång

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

E12 "Evil is going on"

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

F8 Webbteknologier 1. Dynamiska webbsidor

Laboration 6 Formulär och stränghantering övningar/uppgifter

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Introduktion C-programmering

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Översikt över Visual Basic

Repetition C-programmering

DD1314 Programmeringsteknik

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

TDDE44 Programmering, grundkurs

729G04 Programmering och diskret matematik. Föreläsning 7

Föreläsning 2 Programmeringsteknik och C DD1316

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 18 Filer och avbildningar

Språket Python - Del 2 Grundkurs i programmering med Python

F4. programmeringsteknik och Matlab

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Introduk+on +ll programmering i JavaScript

Programmering för språkteknologer II, HT2014. Rum

Objektorienterad Programmering (TDDC77)

Laboration 1 Introduktion till Visual Basic 6.0

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Tentamen Grundläggande programmering

TDIU01 - Programmering i C++, grundkurs

Grundläggande datalogi - Övning 1

Planering Programmering grundkurs HI1024 HT 2014

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Tentamen i Introduktion till programmering

Frekvenstabell över tärningskast med C#

Programmeringsteknik med C och Matlab

Programmering B med Visual C

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Förra gången. jquery Lab 4 Muddy Cards resultat.

Nya webbservern Dvwebb.mah.se

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Exempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg

Föreläsning 3-4 Innehåll

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Innehåll. MySQL Grundkurs

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Extramaterial till Matematik Y

Arrayer (fält)

PHP HELT UTAN EKOLOGISKA TILLSATSER. Påhittad av

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Transkript:

PHP TNMK30 - Elektronisk publicering

HTML, index, W; W: http://www.student.itn.liu.se/~liuid### index.html

15php_test_server Dagens föreläsning Statisk webbsida -> HTML, CSS Interaktion -> JS (klientscript) Serverscript -> dynamiskt genererade webbsidor DB server webbrowser client klientskript HTTP Request (get, post) HTTP Response (HTML, CSS, JS) webbserver server skript JS PHP file (txt, xml, json)

Webbprogrammering serversidan Program för serversidan kan skrivas i flera språk PHP, ASP, Python, Perl, Ruby on Rails Webbservern kör mjukvara för att exekvera dessa program och skicka tillbaks deras resultat PHP är det vi kör på den här kursen, på gott och ont

Klient- & serverskript Klientskript (JavaScript) Kan modifiera en sida utan att behöva skicka/ta emot data till/ från servern. Händelsestyrt: svarar när användaren gör något på webbsidan (klick, tangenttryck, ). Serverskript (PHP) Säkert: tillgång till serverns privata data, dölja källkoden. Oberoende av webbläsare. Kan skriva filer, öppna anslutningar servrar, ansluta databaser.

PHP PHP Hypertext Processor (PHP) Dynamiska webbsidor Hantera formulärdata Hämta och bearbeta data från olika källor: Filer, Databaser Enkel, tillgänglig, används av många Gratis, open source, kompatibel med många webbservrar Dokumentation & instruktioner: http://php.net/ http://www.w3schools.com/php/

PHP Tolkat språk -> Kompileras inte Dynamiskt och svagt typat Variabler behöver inte deklareras Fel är ofta tysta En del grundprogrammeringskoncept och syntax liknar C++, JavaScript Inkluderas i en webbsida och integrerar med sidans HTML/ CSS innehåll

1php_exempel2 1php_exempel1 PHP PHP dokument har ändelsen: ".php" PHP skript börjar <?php och slutar?> Bäddas in bland HTML kod Kan inkludera andra PHP filer Växla fritt mellan HTML och PHP Körs på servern! HTML innehåll <?php // PHP kod?> HTML innehåll <?php include("skript.php"); // PHP kod?> HTML innehåll

PHP PHP på campus W: katalog -> http://www.student.itn.liu.se/~liuid### PHP hemma Programpaket: Apache, PHP, MySQL XAMPP: http://www.apachefriends.org/index.html Andra paket: https://en.wikipedia.org/wiki/list_of_apache MySQL PHP_packages

PHP output 2 sätt att skriva ut: print - Skriver ut en sträng i taget, returnerar 1 echo - Kan skriva ut en eller fler strängar Funkar med () eller utan Kan skriva ut strängar eller variabler

2php_outputs PHP output <?php $name = "PHP"; print( Output 1\n"); print Output via print från $name\n";?> HTML-taggar <?php $name = "PHP"; echo <h2>output 2</h2>"; echo Output,"går också via echo från $name";?>

3php_comments PHP kommentarer Kommentarer på 3 sätt // kommentar # kommentar /* kommentar som kan gå över flera rader */

PHP variabler Variabler börjar med $ följt av variabelnamnet: $variabelnamn <?php $namn= "PHP"; $storlek = 5; $stor_storlek = $storlek + 10;?> $ - både när de deklareras och när de används Variabelnamn måste börja med ett bokstav eller _ Variabelnamn kan enbart bestå av alfanumeriska tecken och _ (A-z, 0-9, _ ) Skillnad mellan små & stora bokstäver ($y $Y)

PHP variabler Variabler deklareras implicit i PHP - behövs inte anges typ, eg. int, string, var. 7 huvudtyper: int, float, boolean, string, array, object, NULL. Testa en variabels typ: is_type($variabelnamn): is_string, is_int Kan ta reda på & skriva ut typen med: gettype($variabelnamn), var_dump($variabelnamn)

4php_variables PHP variabler PHP konverterar automatiskt variabler till rätt typ beroende på deras värde. Explicit konvertera typen med: (type) $variabel $storlek = (int) "40";

5php_scope PHP variabler - scope Scope: varifrån variabler nås och användas. Globala variabler - Deklareras utanför funktioner och kan nås (endast!) utanför funktionerna. Lokala variabler - Deklareras inuti en funktion och kan endast nås i funktionen. För att nå en global variabel inuti en funktion måste nyckelordet "global" användas.

PHP strängar "string" eller 'string' Tecken är indexerade, första tecknets index 0 Nästla med " '' " - "Han heter 'John'" Längd på sträng - strlen($variabelnamn) strlen("gustav Stefanson") Konkateneras med punkt "." - $txt = "ett"." två"; $txt = "ett två" Konkateneras och tilldelas med ".=" - $txt.= " tre"; $txt = "ett två tre"

6php_strings PHP strängar PHP tillåter att variabler skrivs direkt in i strängar och tolkas när skriptet exekveras Strängar i " " tolkas -> skriver ut värdet på variabeln Strängar i ' ' tolkas ej -> skriver ut variabelnamnet $namn = Gustav"; echo "Han heter $namn"; /* Han heter Gustav */ echo "Han heter {$namn}"; /* Han heter Gustav */ echo 'Han heter $namn'; /* Han heter $namn */

PHP strängfunktioner explode - dela upp sträng till en array implode - sätt ihop elementen i array till en sträng strtoupper - omvandla till stora bokstäver trim - ta bort mellanslag från start och slut substr - hämta del av sträng str_replace - ersätt delar av sträng med annan strcmp - jämför strängar htmlspecialchars - konvertera specialsymboler till HTML specialtecken PHP string funktioner: http://php.net/manual/en/ref.strings.php

PHP boolean Booleans (bool) är antingen TRUE eller FALSE Falska värden: 0, 0.0,, 0, NULL, tomma arrayer FALSE skrivs ut som tom sträng TRUE skrivs ut som 1 Jämförelse & logiska operatorer >, <, >=, <=, ==,!= Konverterar till rätt typ vid jämförelser - 3.0 == 3 -> true, 4.5 >= 3 -> true ===,!== : strikta operatorer Konverterar ej typen, kollar både typ och värde av variabler - 3.0 === 3 false and, or, xor, &&,,!

PHP NULL NULL: en variabel som inte har ett värde. Testa om en variabel har ett värde via isset funktionen. Kan tömma variabler genom att sätta dem lika med NULL.

PHP-funktioner Deklareras med function. Kan ta ett eller flera argument. Kan ha defaultvärde på argument. Kan returnera ett värde. function funktionsnamn( param1, param2,,){ kod som ska evekveras; return värde; /* ej obligatoriskt */ };

functions 7php_functions PHP if-satser och loopar Flesta satser och loopar samma som i C++ if/else, if/elseif/else for loopar while, do/while loopar break och continue Specialversion av for loopen för arrayer foreach loop

8php_date PHP datum Med date hämtas dagens datum till en sträng. string date ( string $format [, int $timestamp = time() ] ) format är formatet på datumet/tiden. http://php.net/manual/en/function.date.php

PHP expressionblocks 9php_expressionblo Olika syntax för PHP. <p>"svaret är <?= 7 * 8?>"</p> <p>"svaret är <?php echo 7 * 8;?>"</p>

PHP arrayer Array sparar flera värden i en variabel. Kan innehålla olika variabeltyper. Lägg till ett värde med tom hakparentes: []. Funktionen count() returnerar antal element. Initieras på 2 sätt: Deklarera och sen fyll med värden: $arr = array(); $arr[0] = 1; $arr[] = 2; #lägg till värde Deklarera och tilldela samtidig: $arr2 = array(1, 2, "hej");

10php_arrayer PHP Associativa arrayer Index behöver inte vara heltal, utan kan vara sträng eller flyttal. Associerar värden till nycklar (keys): nyckel/värdepar. Loopas med foreach-statsen. $arr = array(); $arr["hej"] = 10; $arr[2] = 34;

10php_arrayer PHP arrayfunktioner sort() - sorterar arrays i stigande ordning rsort() - sorterar arrays i sjunkande ordning asort() - stigande ordning på value ksort() - stigande ordning på key arsort() - sjunkande ordning på value krsort() - sjunkande ordning på key

PHP arrayfunktioner PHP Array funktioner: http://php.net/manual/en/ref.array.php sort(), rsort() asort(), ksort() print_r() array_push(), array_pop() list($var1,$var2, ) Sortera indexerad array Sortera associativ array baserad på värde resp. nyckel Skriv ut array Lägg till/ta bort element till/från slutet Sparar värdena i en array i variabler

PHP foreach-loop foreach-loopen används för att loopa igenom varje nyckel/värde-par i en associativ array. Värde: Nyckel: foreach ($array as $value) { kod som ska evekveras; } foreach ($array as $key => $value) { kod som ska evekveras; }

PHP superglobala variabler Inbyggda variabler som alltid är tillgängliga överallt: $GLOBALS - array av alla globala variabler $_SERVER - array med info om headers, paths, locations $_REQUEST - HTTP request variabler $_POST - HTTP POST variabler $_GET - HTTP GET variabler $_FILES - HTTP uppladdade filer $_ENV - Environment variabler $_COOKIE - HTTP cookies $_SESSION - Session variabler

PHP filhantering fopen($filnamn, $mode) - öppnar fil för vidare hantering, mode definierar hur filen öppnas: r - Endast läsa w - Endast skriva a - "Append" - skrivning till slutet av filen. Finns inte filen så skapas den. w+ - Skrivning och läsning. Finns inte filen så skapas den. Finns det tidigare innehåll i filen så ersätts detta.

PHP filhantering fopen($filnamn, $mode) - öppnar fil för vidare hantering, mode definierar hur filen öppnas. fgets() - läser en rad i taget (sätts innanför en loop). feof() - kollar om slutet av filen är nådd (används för att bryta loopen). fclose() - stänger en öppen fil. fwrite($filnamn, $txt) - skriver till fil.

11php_file PHP filhantering PHP har ett stort antal funktioner för att skapa, läsa, editera funktioner på servern: http://php.net/manual/en/ref.filesystem.php readfile() file() file_get_contents() file_put_contents() scandir() glob() Läser in en fil och skriver ut den på utskriftsbufferten Läser in en fil som en array av strängar (en per rad) Läser in en fil som en sträng Skriver en sträng till en fil Returnerar en array av alla filnamn i en katalog Returnerar en array av alla filnamn i en katalog som matchar ett givet mönster

HTML-Formulär (igen ) Används för att ta emot information från användaren och skickar den till webbservern. Uppbyggd av en grupp av gränssnittskontroller, som textfält, checkboxar, radioknappar Informationen från användaren skickas till servern som: URL-variabler i en query string (get) http://www.google.se/search?q=html+formulär http://./formular_ex.html?user=namn&pwd=12345 HTTP post request (post)

Formulärdata: GET vs. POST GET request: <form action="url" method="get">formulärkontroller</form> Begär information från webbserver Skickar query-parametrar i URL:en -> synliga Kan bokmärkas och delas med andra Begränsad storlek på query strängen -> informationsmängd POST request <form action="url" method="post">formulärkontroller</form> Skickar information till webbserver Skickar query-parametrar i HTTP request paket -> dolda Ingen begränsning på informationsmängd som kan skickas

Formulärdata: GET vs. POST Välj metod baserat på: Vad formuläret ska göra: hämta -> GET, skicka -> POST Om informationen som behandlas är känslig -> välj POST Att tänka på när parametrar skickas i adressfältet: URL-kodning för specialtecken (görs automatiskt av webbläsaren): & = %26 https://www.google.se/search?q=h&m https://www.google.se/search?q=h%26m Skicka parametrar som du inte vill ska synas som hidden input via POST

12php_form_GET 13php_form_post Hantering av formulärdata PHP sparar parametrarna som skickas till webbservern i globala associativa arrayer: $_GET, $_POST För att nå dem: $_GET["parameternamn"]; $_POST["parameternamn"]; För att kolla om de har ett värde: if (isset($_post["parameternamn"]) { }

14php_formular php_formular_for14 Hantering av formulärdata PHP-funktion: htmlspecialchars Konverterar specialsymboler till motsvarande HTMLspecialtecken. PHP-funktion: htmlspecialchars_decode Konverterar HTML-specialtecken tillbaks till specialsymboler.

Länkar till Material/Läsning Kolla kurswebben. PHP dokumentation: http://php.net/ PHP tutorial: http://php.net/manual/en/tutorial.php W3schools PHP tutorial: http://www.w3schools.com/php/ W3schools PHP form validation: http://www.w3schools.com/ php/php_form_validation.asp JSON: http://www.json.org/

Att tänka på: PHP Stoppa PHP i HTML-dokument. Lägg statisk HTML-kod utanför PHP-taggarna. Bygg din lösning i steg och öka komplexiteten successivt. Välj metod för att skicka formulärdata baserat på: Vad din formulär ska göra: hämta -> GET, skicka -> POST Om informationen som behandlas är känslig -> välj POST