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



Relevanta dokument
Introduktion till PHP

Programmering i PHP Marcus Rejås marcus@rejas.se Magnus Määttä magnus@php.net

Innehåll. MySQL Grundkurs

Karlstads Universitet, Datavetenskap 1

Användarhandledning Version 1.2

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

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

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

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

Objektorienterad programmering Föreläsning 2

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

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

Föreläsning 2 Programmeringsteknik och C DD1316

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?

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

Introduktion HTML och PHP 732G16 Databaser design och programmering

TDIU01 - Programmering i C++, grundkurs

Webbservrar, severskript & webbproduktion

TDIU01 - Programmering i C++, grundkurs

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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

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

PHP. Dynamiska webbsidor

Visual Basic, en snabbgenomgång

PHP. TNMK30 - Elektronisk publicering

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

SMD 134 Objektorienterad programmering

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

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

Databaser på webben. Revision Johan Näsholm, johan@nasholm.com

Extramaterial till Matematik Y

Objektorienterad programmering Föreläsning 4

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

F4. programmeringsteknik och Matlab

Laboration 1 Introduktion till Visual Basic 6.0

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

JAVAUTVECKLING LEKTION 4

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

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

C++ - En introduktion

Programmering för språkteknologer I, VT2012. Rum

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Avancerade Webbteknologier

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Beräkningsvetenskap föreläsning 2

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

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

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

Övning2. Variabler. Data typer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

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

Exempel på ett litet Ada-program

JAVASCRIPT. Beteende

Översikt över Visual Basic

Skapa din egen MediaWiki

Data, typ, selektion, iteration

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Tentamen Grundläggande programmering

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

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

OOP Objekt-orienterad programmering

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Repetition C-programmering

Enkla datatyper minne

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Grundläggande datalogi - Övning 1

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

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Labora&on 8 Formulär övningar/uppgi6er

Agenda (obs! halvdag)

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

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

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

Inledande programmering med C# (1DV402) Summera med while"-satsen

Programmeringsteknik med C och Matlab

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

Introduktion C-programmering

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

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

Objektorienterad programmering i Java

Föreläsning 3: Booleans, if, switch

Webbsidor och webbservrar

Extramaterial till Matematik Y

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

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Övningar i JavaScript del 4

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

OOP Objekt-orienterad programmering

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

Grundläggande programmering med C# 7,5 högskolepoäng

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

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

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Transkript:

Innehåll PHP Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Introduktion till PHP Webbserver och XAMPP Variabler Datatyper Operatorer $_GET och $_POST Skicka variabler via ett formulär Selektioner (villkorssatser) Iterationer (upprepningar, loopar) Indentering och kommentering Stränghantering och Escape-tecken Filöverföring med FTP Funktioner Skicka mail via ett PHP-formulär Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 2 Kurslitteratur Programmering i PHP Av: Marcus Rejås och Magnus Määttä http://www.rejas.se/fritis/programmeringab/ Introduktion till PHP PHP = PHP: Hypertext Preprocessor PHP är ett programmeringsspråk. PHP är ett skriptspråk som körs på webbservrar. PHP-dokument bearbetas av en webbserver. PHP-Kod interpreteras av webbservern och skickas vidare till webbläsaren. För att kunna öppna PHP-dokument behöver du publicera dessa till en webbserver med PHP-stöd. PHP är gratis och utvecklas genom Open Source. 4 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 3 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 4 Lite historik 1995 : Rasmus Lerdorf skrev en samling skript som han kallade PHP/FI (Personal Home Page / Forms Interpreter). 1998: Andi Gutmans och Zeev Suraski hittade under sina universitetsstudier PHP/FI och skrev om det helt. De lanserade PHP 3.0. 2000: PHP4 med stöd för objektorienterad programmering. 2004: PHP5 med förbättrat stöd för objektorientering. Webbserver En webbserver har som uppgift att tillhandahålla webbsidor eller andra filer och skript som distribueras vanligtvis via Internet Kommunikation med en webbserver sker med hjälp av en webbläsare (klient). De vanligaste webbserverprogrammen är: Apache HTTP Server. Microsoft Internet Information Server (IIS) Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 5 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 6 PHP Grundkurs 1

Webbserverprogrampaket Webbserverprogrampaket är ett paket av program som inkluderar de mest vanligaste program som krävs för att köra databas- och serverbaserade webbsidor, t.ex. Apache, MySQL, PHP och phpmyadmin. Exempel på webbserverprogrampaket är: XAMPP (www.apachefriends.org/) WAMP (www.wampserver.com/en) MAMP (www.mamp.info) Ladda ner och installera XAMPP Gå till http://www.apachefriends.org/ Klicka på XAMPP XAMPP finns för många olika operativsystem. Välj t.ex. XAMPP for Windows Ladda ner XAMPP Installera! Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 7 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 8 XAMPP Kontrollpanel Starta Apache (webbserver) Webbserverns root Klicka på Explore Och sedan htdocs för att komma till webbservern root Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 9 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 10 Testköra webbservern genom att surfa till http://localhost/ Att skriva PHP Skript PHP kod placeras mellan och Skriv PHP kod här! PHP-dokument måste sparas med filändelsen.php t.ex. index.php, kontakt.php, epost.php OBS! PHP är Skiftlägeskänsligt (Case Sensitive) Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 11 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 12 PHP Grundkurs 2

echo echo är ett PHP-Kommando som skickar data till klienten. Ex. echo "Hello World"; Övning: Min första PHP sida Skapa en textfil och skriv nedanstående kod Skapa en mapp i webbserverns root (mappen htdocs) tex. phpfiler. Spara filen hej.php i den nya mappen Starta webbläsaren och gå till http://localhost/phpfiler Klicka på filen hej.php för att köra! Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 13 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 14 Echo exempel echo "Hello World"; echo "<br>"; echo "Text som sträcker sig över flera rader"; echo "Text 1", "Text 2"; Vanliga fel Nr 1 echo "Hello World"; Glömt och Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 15 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 16 Vanliga fel Nr 2 Vanliga fel Nr 3 echo "Hello World"; Glömt echo "Hello World"; Har sparat filen som html och inte php Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 17 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 18 PHP Grundkurs 3

Vanliga fel Nr 4 Vanliga fel Nr 5 echo Hello World; Glömt citattecken runt text echo "Hello World" echo "<br>"; Glömt semikolon Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 19 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 20 PHP Variabler Datatyper En variabel är en platshållare för ett värde som kan ändras under programmets gång. $namn = "Mahmud Al Hakim"; echo $namn; Skalära boolean, bool (true, false) integer, int (heltal) float, double, real (reella tal) string (Textsträngar) Sammansatta arrayer (En samling av värden som indexeras antingen av en integer eller string). objekt Övriga speciella NULL (Variabeln har inget värde alls). resource (Innehåller en referens till en extern tillgång). Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 21 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 22 Operatorer En operator är något som verkar på en eller flera termer. Exempel på operatorer är +, -, * och / som gör precis vad ni tror att de gör. Dessa kallas Aritmetiska operatorer. echo 1 + 2; echo 2-1; echo 2 * 3; echo 10 / 2; echo 10 % 3; /* % kallas modulus ger Resten av division mellan 10 och 3 */ Tilldelningsoperatorer Det finns bara en tilldelningsoperator och den heter helt enkelt "tilldelas". Den representeras av ett lika-med-tecken (=). $a = 1; $b = 2; $c = $a + $b; echo $c; Utläses: c tilldelas värdet av a + b Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 23 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 24 PHP Grundkurs 4

+= och -= $a += 5; //Samma sak som $a = $a + 5 echo "<br />"; echo $a; $a -= 5; //Samma sak som $a = $a - 5 echo "<br />"; echo $a; Jämförelseoperatorer Jämförelseoperatorer arbetar på tal och returnerar alltid ett värde av typen boolean. Det vill säga true eller false. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 25 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 26 Strängoperatorer $a = "Kalle "; //$a tilldelas "Kalle " $t = $a. "Anka"; //$t innehåller nu "Kalle Anka" $s = "Kalle "; $s.= "Anka"; //Samma sak som $s = $s. "Anka" Hämta data via den globala variablen $_GET $namn = $_GET['namn']; echo "Hej ". $namn; Variabelnamn och data kan skrivas direkt i URLen ex. hej.php?namn=mahmud Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 27 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 28 Skicka variabler via ett formulär <body> <form id="myform" name="myform" method="post" action="hej.php"> Vad heter du <input id="namn" name="namn" type="text /> <input type="submit" name="submit" value="skicka" /> </form> </body> Hämta data via $_POST OBS! Formuläret har metoden POST (method="post") och därför måste data hämtas via den globala variablen $_POST Exempel: $namn = $_POST['namn']; echo "Hej ". $namn; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 29 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 30 PHP Grundkurs 5

Övning Skapa ett formulär som innehåller två textfält och en knapp. I textfälten ska för- och efternamn skrivas. Koppla formuläret till ett PHP-Skript som hämtar data från formuläret och skriver hela namnet i webbläsaren (body). Selektioner (Villkorssatser) I de allra flesta programmeringsspråk finns det selektionssatster. Precis som namnet antyder handlar det om val. Programmet kan ta olika vägar beroende på olika villkor. Vanliga selektionssatser är if-satsen och if-else-satsen. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 31 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 32 If-satsen If-satsen fungerar som så att om något är sant så gör en sak, annars inte. If - Syntax if (villkor) { en eller flera satser om villkoret är sant If Exempel $tal = $_GET['tal']; echo "Du angav tal: $tal"; if ($tal > 100) { echo "$tal är större än 100"; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 33 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 34 If-else-satsen $tal = $_GET['tal']; echo "Du angav tal: $tal <br />"; if ($tal > 100) { echo "$tal är större än 100"; else{ echo "$tal är mindre än 100"; if-elseif $tal = $_GET['tal']; echo "Du angav tal: $tal <br />"; if ($tal > 100) { echo "$tal är större än 100"; elseif ($tal < 100){ echo "$tal är mindre än 100"; else{ echo "$tal är lika med 100"; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 35 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 36 PHP Grundkurs 6

Iterationer (Upprepningar, Loopar) Iteration är ett annat ord för upprepning Datorprogram är extremt bra på att göra saker om och om igen, utan att ledsna eller göra fel. Till detta använder man någon typ av iterationssats t.ex. while-satsen, do-whilesatsen och for-loopen. While-sats While-satsen är en vanlig iterationssats. Den fungerar så att en sats (som kan vara ett block) körs om och om igen så länge som ett test är sant. $a = 0; while ($a < 1000) { echo "1 "; $a = $a + 1; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 37 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 38 do-while-sats Do-while liknar på många sätt den vanliga whilesatsen. Den enda skillnaden är att det som står i satsen alltid kommer att utföras åtminstone en gång. $i = 5; do { echo "$i <br />"; $i = $i + 5; while ($i <= 50); for-loop for-loopen skriver man med det reserverade ordet for följt av en parentes. Inom parentesen skall det stå tre stycken uttryck. Dessa tre skall se ut enligt följande. 1. Det första kommer att exekveras en gång innan loopen börjar. 2. Det andra skall vara ett booleskt uttryck. Loopen kommer att gå så länge detta är sant. 3. Det tredje körs efter varje gång som loopen har gått. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 39 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 40 for-loop Exempel 1 for ($i = 0; $i <= 10; $i++) { echo "$i <br />"; for-loop Exempel 2 for($i = 10;$i<=100;$i+=10) { echo "$i <br />"; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 41 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 42 PHP Grundkurs 7

Övning Skriv ett program som visar en tabell med uträkning av x 2 för varje tal mellan 1 och 100 1 1 2 4 3 9 4 16 5 25 osv Indentering Indentering går ut på att man med hjälp av olika mycket blanksteg (space) till vänster om koden kan på ett logiskt sätt gruppera koden så att den går lättare att läsa. Grundprincipen är att kod som hänger ihop skall ha samma indenteringsnivå. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 43 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 44 Indentering - Exempel Nästlade if-satser visas tydligare med indentering if ($inloggad) { if ($tal == 100) { echo "Tal är hundra"; else { echo "Tal är inte hundra"; else { echo "Du är inte inloggad!" ; Kommentering Att kommentera i sin kod är en konst. Det är mycket att tänka på. Det som är svårast är att veta hur mycket man skall kommentera. Det är lika illa att kommentera för mycket som för lite. Här kommer några riktlinjer. Skriv i kommentaren VAD som görs och inte HUR det görs. Hur det görs skall koden i sig själv förklara. Kommentera i en sammanhängande längre kommentar före ett avancerat block vad som görs. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 45 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 46 Kommentering i PHP // Detta är en kommentar /* Detta är en kommentar som sträcker sig över flera rader */ $tusen = 1000; //Detta är också en kommentar Tips! Se mer exempel på sidan 29 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 47 Stränghantering En sträng är en grupp av tecken. Strängar förekommer, i stort sett, i alla program. PHP är ett språk som är väldigt rikt på funktioner för att hantera strängar. Mycket beroende på att det är ett språk för web-programmering där i princip allt som kommer från programmet är strängar. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 48 PHP Grundkurs 8

Enkla eller dubbla citationstecken! I PHP markeras en sträng av att den innesluts av enkla eller dubbla citationstecken. Skillnaden är den att inom dubbla citationstecken kommer alla variabler i strängen att bytas ut mot sitt värde. $summa = 1 + 6; echo "Summan är $summa"; // Skriver ut: Summan är 7 echo 'Summan är $summa'; // Skriver ut: Summan är $summa Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 49 Escape-tecken echo "Tjänare din gamle \"hacker\""; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 50 Lägga ihop strängar OBS! Man kan inte lägga ihop strängar med hjälp av additionsoperatorn (+). Den är ju till för aritmetiska termer. Som tur är så finns det speciella operatorer för just strängar. Den som lägger ihop två strängar kallas för concatenationsoperatorn. Den representeras av tecknet "." (punkt). Konkatenering - Exempel $a = "Hello "; $b = $a. "World!"; echo $b; // Skriver ut "Hello World!" Tips: Testa dessa satser echo $a$b; echo $a,$b; echo $a.$b; Läs mer här http://php.net/manual/en/function.echo.php Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 51 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 52 Versaler eller gemener! strtoupper och strtolower (STRing TO UPPERcase och LOWERcase) är två funktioner som tar en sträng som argument och returnerar samma sträng med alla bokstäver konverterade till antingen stora bokstäver (versaler) eller små bokstäver (gemener). Exempel med strtoupper och strtolower $str1 = "Kalle Anka"; $str2 = strtolower($str1); // str2 blir "kalle anka" $str3 = strtoupper($str1); // str3 blir "KALLE ANKA" Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 53 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 54 PHP Grundkurs 9

Gör den första bokstaven till versal Ucfirst (UpperCase FIRST) Ucwords (UpperCase WORDS) $str1 = "kalle anka"; $str2 = ucwords($str1); // str2 blir "Kalle Anka" Testa gärna ucfirst Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 55 Strrev (STRing REVerse) Strrev tar en sträng som argument och returnerar samma sträng fast reverserad (baklänges). $str1 = "Kalle Anka"; $str2 = strrev($str1); //str2 blir "akna ellak" Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 56 Strlen (STRing LENgth) Strlen returnerar antalet tecken i en sträng. $str1 = "Kalle Anka"; echo strlen($str1); // skriver ut 10 OBS! Mellanrum echo strlen("kalle Anka "); // skriver ut 11 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 57 Funktioner En funktion är ett antal instruktioner som fristående utför en sak. Funktioner används för att dela upp programmet i mindre små delar. Det gör att programmeraren kan koncentrera sig på en del i taget och löper mindre risk att göra fel. Man använder även funktioner till kod som kan återfinnas på flera ställen för att minska duplikation av kod. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 58 När skall man använda funktioner? Man skall använda funktioner så snart man kan. Själva programmet brukar ofta vara bara anrop till olika funktioner. Använd funktioner till: Alla uppgifter som kan avgränsas Alla uppgifter som är repetitiva All kod som du kan tänkas återanvända i andra program Försök att tänka ett program i funktioner. Funktioner Exempel 1 /* * print_html_header_start * Skriver ut en html-header */ function print_html_header_start () { echo "<html><head></head><body>"; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 59 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 60 PHP Grundkurs 10

Funktioner Exempel 2 /* * print_html_header_stop * Skriver ut slut-html-taggar */ function print_html_header_stop () { echo "</body></html>"; Argument till funktioner En funktion kan ta noll eller flera argument. Ett argument är ett värde som man skickar till funktionen. Till exempel om man vill göra en funktion som summerar två tal så är det bra om den kan ta de två talen som argument. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 61 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 62 Argument - Exempel function summa($tal1, $tal2){ return ($tal1 + $tal2); echo summa(5,6); Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 63 Returvärden function is_logged_in ($name, $pass){ if ( ($name == "kalle") && ($pass == "Hemligt") ) { return true; else{ return false; Funktionen tar två argument, $namn och $pass och returnerar värdet av en boolsk operation. Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 64 Filöverföring med FTP FTP (File Transfer Protocol) Ett av de tidigaste populära filöverföringsprotokollen för Internet. Några välkända FTP Klienter FileZilla: http://filezilla-project.org/ FireFTP: http://fireftp.mozdev.org/ Ladda ner och installera FireFTP Gå till http://fireftp.mozdev.org/ Ladda ner och installera i Firefox Starta programmet under menyn Verktyg-Webbutvecklare Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 65 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 66 PHP Grundkurs 11

FireFTP - Programfönstret FireFTP - Skapa ett konto Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, 67 www.webbacademy.se 2014 6 8 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, 68 www.webbacademy.se 2014 FireFTP - Koppla Upp Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, 69 www.webbacademy.se 2014 Här visas mappar och filer på fjärrservern! Funktionen mail() Funktionen mail() skickar ett e-post meddelande. Funktionen behöver 4 argument: 1. Mottagarens e-postadress 2. Ämnesrubrik 3. Meddelandetext 4. Headers t.ex. From mail("mahmud@dynamicos.se","hej", "Ett meddelande","from: info@dynamicos.se"); echo "Meddelandet har skickats"; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 70 Skicka ett e-postformulär via PHP filen form.php <body> <form id="myform" name="myform" method="post" action="mail.php"> <p>namn<br /> <input name="namn" type="text" id="namn" size="50" maxlength="50" /> </p> <p>e-post<br /> <input name="epost" type="text" id="epost" size="50" maxlength="50" /> </p> <p>meddelande<br /> <textarea name="meddelande" cols="50" rows="5" id="meddelande"></textarea> </p> <p><input type="submit" name="submit" value="skicka" /> </p> </form> </body> Skicka ett e-postformulär via PHP filen mail.php // Hämta data från formuläret $namn = $_POST['namn']; $epost = $_POST['epost']; $meddelande = $_POST['meddelande']; // Några argument (parametrar) $till = "mahmud@dynamicos.se"; $rubrik = "Förfrågan från $namn"; $headers = "From: $epost"; mail($till, $rubrik, $meddelande, $headers); echo "Meddelandet har skickats"; Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 71 Copyright Mahmud Al Hakim, www.dynamicos.se, mahmud@dynamicos.se, www.webbacademy.se 2014 72 PHP Grundkurs 12