Programmering B PHP Lektion 5 och 6

Slides:



Advertisements
Liknande presentationer
Fatta PHP - Din guide till en större värld Knut Hahnsskolan – Ronneby Virtuella miljöer (MUM1203, 100p) Fredrik JohanssonBild 1 av 10.
Advertisements

Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Mahmud Al Hakim IT-Pedagog och Webbutvecklare
FLASH – Lektion 5 Mahmud Al Hakim 1Copyright, Mahmud Al Hakim, 2010.
MS Excel 2007 Lektion 3 1 Copyright, Mahmud Al Hakim, 2008.
Lektion 6 Mahmud Al Hakim
Programmering B PHP Lektion 4
Programmering B PHP Lektion 1
I NNEHÅLLSHANTERINGSSYSTEM J OOMLA CMS DAG 2 Mahmud Al Hakim
Programstruktur: C för enchipsdatorer
Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
Vill du lära dig kort division?
I NNEHÅLLSHANTERINGSSYSTEM J OOMLA CMS L EKTION 2 Mahmud Al Hakim
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Föreläsning 12 Matlab J-uppgiften.
Grundläggande programmering
1 Föreläsning 3 Datalogi för E1 / 2D1343 Repetition List List operationer Stränghantering For-slingor.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Mahmud Al Hakim Webmaster DAG 11 VT09 Mahmud Al Hakim
WEBMASTER DAG 10 VT09 Mahmud Al Hakim
W EBMASTER DAG 11 HT08 Mahmud Al Hakim
WEBMASTER DAG 13 Mahmud Al Hakim
Mahmud Al Hakim IT-Pedagog och Webbutvecklare
Programmering B PHP Lektion 2
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Programmering B PHP Lektion 3
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Pekare och speciell programstruktur i inbyggda system
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
Polymorfism.
Lektion 3 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Grundläggande programmering
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Array. Vad är en array? En variabel som kan innehålla flera värden ◦ $age[’Max’] = 17; ◦ $age[’Simon’] = 17; ◦ $age[’Teo’] = 16; ◦ $age[’Ehnborg’] = 16;
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Databashantering MS Access 2003 Lektion 2
IT - Lektion 11 MS Excel 2007 –Del 4/5 1 Copyright, Mahmud Al Hakim, 2008.
Copyright, Mahmud Al Hakim, Hakimdata.se Agenda Dokumentkoppling Repetition Frågor och svar.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Namnrum, räckvidd och rekursion Linda Mannila
Primärvård Kaisa Mölläri ja Satu Vuorio.
Excel 2003 Grundkurs Lektion 2 Mahmud Al Hakim 1.
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
IT - LEKTION 14 MS POWERPOINT 2007 – DEL 2. Agenda Copyright, Mahmud Al Hakim, Grafik och diagram 6.
Lektion 1 Webbplatsens layout Mahmud Al Hakim Dreamweaver 8 fortsättningskurs 1 Copyright, Mahmud.
Dreamweaver fortsättning DAG 1 VT09 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 6 Mahmud Al Hakim
MS Excel 2007 Fortsättning Lektion 2 1 Copyright, Mahmud Al Hakim, 2008.
Excel 2003 Grundkurs Lektion 4 Mahmud Al Hakim 1.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Programmeringteknik Webbdelen 2. webbprogrammering Server Den dator som websidan ligger på Klient Dator som tittar på webbsidan med en webbläsare (t ex.
KPP053, HT2015 MATLAB, Föreläsning 4
Python.
Internet Historia: 1964 Kommunikationsystem för försvaret (USA)
Roligt lärande! Varför? Vad ? Hur?.
Mer om repetionssatser och arrayer
Presentationens avskrift:

Programmering B PHP Lektion 5 och 6 Mahmud Al Hakim Folkuniversitetet mahmud@dynamicos.se PHP - Lektion 5 och 6 1 1

Repetition och övningar Vad menas med ”Indentering”. Ge exempel på två nästlade for-satser som indenteras på ett lämpligt sätt. Hur fungerar funktionen Strcmp (STRing CoMPare)? Fakultet är en funktion inom matematiken. För ett heltal större än noll är fakulteten lika med produkten av alla heltal från 1 upp till och med talet självt. Fakultet betecknas med ett utropstecken ! Exempel 1: 3! (tre fakultet) = 3 * 2 * 1 = 6 Exempel 2: 5! (fem fakultet) = 5 * 4 * 3 * 2 *1 = 120 Skriv ett program som räknar ut 10! (tio fakultet) Skriv ett program som räknar ut fakultet av valfri inmatad tal via ett formulär. 2 Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011 2

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/ Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011 PHP - Lektion 5 och 6

FTP i FireFTP Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

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, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

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. Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Funktioner – Exempel 1 /* * print_html_header_start * Skriver ut en html-header */ function print_html_header_start () { echo "<html><head></head><body>"; } Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Funktioner – Exempel 2 /* * print_html_header_stop * Skriver ut slut-html-taggar */ function print_html_header_stop () { echo "</body></html>"; } Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

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, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Argument - Exempel <?php function summa($tal1, $tal2){ return ($tal1 + $tal2); } echo summa(5,6); ?> Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Returvärden <?php 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, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Övningar Skapa en PHP-funktion som tar emot två argument och returnerar medelvärdet. Skapa en PHP-funktion som tar emot tre argument och returnerar medelvärdet. Skapa ett PHP-Skript som tar emot två tal via ett HTML-formulär och beräknar medelvärdet av talen! Skapa en PHP-funktion som tar emot två argument via ett HTML-formulär och returnera maxvärdet (det största talet). Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Funktionen mail() Funktionen mail() skickar ett e-post meddelande. Funktionen behöver 4 argument: Mottagarens e-postadress Ämnesrubrik Meddelandetext Headers t.ex. From <?php mail("mahmud@hakimdata.se","Hej", "Ett meddelande","From: info@hakimdata.se"); echo "Meddelandet har skickats"; ?> Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

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> Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

OBS! Funktionsmakro En annan PHP-fil som kommer att ta emot data och skicka vidare som e-post! Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

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@hakimdata.se"; $rubrik = "Förfrågan från $namn"; $headers = "From: $epost"; mail($till, $rubrik, $meddelande, $headers); echo "Meddelandet har skickats"; ?> Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Arrayer (vektorer/matriser) En array är en variabel som kan innehålla flera olika värden. En array kallas ibland även för en vektor. Exempel $arr[0] = 10; $arr[1] = 20; $arr[2] = 30; echo $arr[2]; // Skriver ut 30 Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Funktionen sort Funktionen sort tar en array som argument och sorterar den. $arr[0] = "Kalle"; $arr[1] = "Fnatte"; $arr[2] = "Knatte"; $arr[3] = "Kajsa"; $arr[4] = "Joakim"; $arr[5] = "Alexander"; sort($arr); for ($i = 0; $i <= 5; $i++) { echo "$arr[$i]<br />"; } Tips: http://www.w3schools.com/php/php_ref_array.asp Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Matematika konstanter och funktioner M_PI = returnerar talet PI (π = ca 3.14159) M_SQRT2 returnerar kvadratroten ur 2 (ca 1.414) sqrt(x) returnerar kvadratroten ur ett tal. <?php echo sqrt(9); ?> pow(x,y) returnerar x upphöjt till y (potens) <?php ?> Läs mer här: http://www.w3schools.com/php/php_ref_math.asp Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Call by value När man anropar en funktion skickar man vanligtvis med ett eller flera argument. Vi har tidigare sett att om man ändrar dessa argument i funktionen så ändras de inte utanför funktionen. Det är för att man lättare skall kunna flytta funktionen mellan olika program utan att behöva vara rädd för att den skall ändra något utanför själva funktionen. Detta kallas för call by value. Det vill säga att värdet i variabeln skickas till funktionen, inte själva variabeln. Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Call by reference Ibland vill man låta funktionen ändra variabler även i världen utanför. Alltså om jag skickar en variabel till en funktion och den ändras i funktionen så skall den ändras även utanför funktionen. Detta förfarande kallas för call by reference. Det vill säga att man istället för att skicka en kopia på värdet i en variabel så skickar man en pekare till variablen så att det man gör med variabeln i funktionen även händer utanför funktionen. Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Call by reference - Exempel <?php function swap (&$var1, &$var2) { $tmp = $var2; $var2 = $var1; $var1 = $tmp; } $text1 = "Text1"; $text2 = "Text2"; echo "Före swap: $text1, $text2 <br />"; swap($text1, $text2); echo "Efter swap: $text1, $text2"; ?> Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Övning 1 Skriv ett program som beräknar porto för brev enligt följande taxa: Vikt högst (gram) Porto (kronor) 20 6 100 12 250 24 500 35 Brev över 500 gram räknas som paket. Övning 2 Skriv ett program som läser in radien och höjden av en cylinder och beräknar cylinderns volym. Tips: Cylinders volym Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011

Övning 3 Fakultet är en funktion inom matematiken. För ett heltal större än noll är fakulteten lika med produkten av alla heltal från 1 upp till och med talet självt. Fakultet betecknas med ett utropstecken ! Exempel 1: 3! (tre fakultet) = 3 * 2 * 1 = 6 Exempel 2: 5! (fem fakultet) = 5 * 4 * 3 * 2 *1 = 120 Skriv ett program som räknar ut 10! (tio fakultet) Skriv ett program som räknar ut fakultet av valfritt inmatat tal via ett formulär. 24 Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011 24

Inlämningsuppgift 4 Skapa ett program som beräknar och skriver ut en persons statliga inkomstskatt. Läs in den beskattningsbara inkomsten i programmet. Den statliga skatten beräknas enligt följande: Om inkomsten är mindre än (eller lika med) 8900 kr betalas 0 kr i skatt. Om inkomsten är större än 8900 kr men mindre än 198700 kr betalas 100 kr i skatt. Om inkomsten är större än (eller lika med) 198700 kr betalas 100 kr + 20 % av inkomsten över 198700 kr. Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2011 PHP - Lektion 5 och 6