Karlstads Universitet, Datavetenskap 1

Relevanta dokument
Introduktion HTML och PHP 732G16 Databaser design och programmering

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

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

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

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

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

Lektion 5 HTML, CSS, PHP och MySQL

Användarhandledning Version 1.2

JAVASCRIPT. Beteende

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

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

Nya webbservern Dvwebb.mah.se

PHP-presentation Dataföreningens Open Source-nätverk

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering. Sahand Sadjadee

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

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

Hemsideutveckling för Anjool AB

PHP. PHP: Hypertext Preprocessor

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

TNMK30 Elektronisk publicering HT 2014 Laboration 5: PHP och MySQL

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

Visual Basic, en snabbgenomgång

JS & beteende. TNMK30 - Elektronisk publicering

PHP. TNMK30 - Elektronisk publicering

Elektronisk publicering TNMK30

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Introduktion till PHP

PHP. Dynamiska webbsidor

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

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

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

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

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

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

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

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?

Lite mer om CGI-programmering

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

Exempel på ett litet Ada-program

WCMS-15, Webbutvecklare CMS

Webbsidor och webbservrar

Repetition C-programmering

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Introduk+on +ll programmering i JavaScript

Kryptering. Krypteringsmetoder

Variabler och konstanter

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

Objektorienterad Programmering (TDDC77)

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

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

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Introduktion C-programmering

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

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

TDIU01 - Programmering i C++, grundkurs

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

SMD 134 Objektorienterad programmering

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

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

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

Programmering A. Johan Eliasson

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

DD1314 Programmeringsteknik

Del A (obligatorisk för alla)

12. Relationer och funktioner

Innehåll. MySQL Grundkurs

Översikt över Visual Basic

OOP Objekt-orienterad programmering

Webbaserade informationssystem med PHP och databaser

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Laboration: Whitebox- och blackboxtesting

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Att skriva till och läsa från terminalfönstret

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

Lösningsförslag till exempeltenta 2

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.

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

Objektorienterad programmering i Java

Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 30/5 Tid

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

F4. programmeringsteknik och Matlab

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

Labora&on 7 Syfte med laborationen:

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

[] Arrayer = Indexerad variabel

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

Föreläsning 2 Programmeringsteknik och C DD1316

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Labora&on 8 Formulär övningar/uppgi6er

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

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet

Tentamen Grundläggande programmering

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:

Transkript:

DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren, dvs. webbläsaren ser bara vanlig html-kod KaU - Datavetenskap - DAV B04 - MGö 230 PHP Grunderna Exempel php-script på webbservern //test.php <HTML> <HEAD> <TITLE> Simple PHP Example</TITLE> </HEAD> <BODY> <P> <?php print( <B>Hello World!</B>");?> </P> </BODY> </HTML> KaU - Datavetenskap - DAV B04 - MGö 231 Karlstads Universitet, Datavetenskap 1

PHP Grunderna Samma sida i webbläsaren //test.php <HTML> <HEAD> <TITLE> Simple PHP Example</TITLE> </HEAD> <BODY> <P> <B>Hello World!</B> </P> </BODY> </HTML> KaU - Datavetenskap - DAV B04 - MGö 232 PHP Grunderna Resultat i webbläsaren KaU - Datavetenskap - DAV B04 - MGö 233 Positiva aspekter Oberoende av webbläsarens typ/version etc. Tillgång till resurser på webbservern Ex. MySQL-databaser Saktar inte ned webbläsaren som exempelvis JavaScript kan göra (prestandakraven ligger istället på servern) KaU - Datavetenskap - DAV B04 - MGö 234 Karlstads Universitet, Datavetenskap 2

PHP Syntax Ett php-script börjar alltid med <?php (eller <?) Och slutar alltid med?> Kallas för scriptets avgränsare (delimiters) KaU - Datavetenskap - DAV B04 - MGö 235 Skalära (primitiva) typer boolean, bool: true, false integer, int: -1, 0, 1, 2 float, double, real:..1.1, 1.2.. string: tecken inom eller KaU - Datavetenskap - DAV B04 - MGö 236 Komplexa (sammansatta) typer arrayer (lista, haschtabell, samling ) där nyckeln är antingen är av typen integer eller string objekt (ej i denna kurs om ni inte absolut känner för det ) KaU - Datavetenskap - DAV B04 - MGö 237 Karlstads Universitet, Datavetenskap 3

Variabler Börjar alltid med ett dollartecken ( $) $name, $i, $test Är typlösa 8! $name = Joppe ; $i = 1; $test = 4.7; $test = Kalle ; KaU - Datavetenskap - DAV B04 - MGö 238 Operatorer =, ==,!=,!, +, -, *, /, ++, --, &&, etc... $i = 1; $i = $i + 2; //$i = 3 $i++; //$i = 4 Dvs. precis som i C/C++ KaU - Datavetenskap - DAV B04 - MGö 239 Utökningar som kan vara bra att känna till AND, OR Punktoperatorn (.) som används för att slå ihop strängar $fname = Joppe ; $sname = Karlsson ; $name = $fname.. $sname; //Joppe Karlsson $name = $fname $sname ; $name = $fname $sname ; //samma resultat //samma resultat KaU - Datavetenskap - DAV B04 - MGö 240 Karlstads Universitet, Datavetenskap 4

Utskrift print() eller echo() print( Hello World ); echo( Hello World ); print($fname.. $sname); Egentligen inte funktioner, utan språkkonstruktioner... print Hello World ; echo $fname.. $sname; KaU - Datavetenskap - DAV B04 - MGö 241 Reserverade ord KaU - Datavetenskap - DAV B04 - MGö 242 Selektioner if-else if ($var1 == true) else if($var2 == true) else KaU - Datavetenskap - DAV B04 - MGö 243 Karlstads Universitet, Datavetenskap 5

Iterationer while while ($expr) for for($i = 0; i < $size; $i++) KaU - Datavetenskap - DAV B04 - MGö 244 Iterationer do-while $i = 0; do while ($i>0); foreach foreach($array_expr as $value) foreach($array_expr as $key => $value) KaU - Datavetenskap - DAV B04 - MGö 245 Funktioner function add ($arg, $arg_2) echo "Example function.\n"; $retval = $arg1 + $arg2; return $retval; $sum = add(1, 2); KaU - Datavetenskap - DAV B04 - MGö 246 Karlstads Universitet, Datavetenskap 6

Koppla upp mot MySQL mysql_connect(<address>, <username>, <password>); Exempel $dbcnx = @mysql_connect("localhost", picard", password"); if (!$dbcnx) print("<p>unable to connect to the ". "database server at this time.</p>" ); exit(); KaU - Datavetenskap - DAV B04 - MGö 247 Välj databas bool mysql_select_db (string databas [, uppkoppling]) Exempel if (! @mysql_select_db( lab3_xx") ) print( "<P>Unable to locate the ". "database at this time.</p>" ); exit(); KaU - Datavetenskap - DAV B04 - MGö 248 Kör en SQL-fråga mysql_query(string sql_question [, uppkoppling] ) Vad funktionen returnerar varierar: vid CREATE/INSERT/UPDATE/DROP etc. returneras true/false vid SELECT returneras en resultatmängd KaU - Datavetenskap - DAV B04 - MGö 249 Karlstads Universitet, Datavetenskap 7

Kör en SQL-fråga Exempel $result = mysql_query( SELECT * FROM Supplier ); if (!$result ) print("<p>error performing query: ". mysql_error(). "</P>"); exit(); KaU - Datavetenskap - DAV B04 - MGö 250 Hantera resultatmängden Hämta resultatet rad efter rad while ( $row = mysql_fetch_array($result) ) print( <P>. $row[ snum ].. $row[ sname ]. </P> ); KaU - Datavetenskap - DAV B04 - MGö 251 Formulär <FORM ACTION= vad som skall hända" METHOD = POST> </FORM> där vad som skall hända exempelvis kan vara att ladda in en ny sida, eller maila till någon person... KaU - Datavetenskap - DAV B04 - MGö 252 Karlstads Universitet, Datavetenskap 8

Formulär Exempel <FORM ACTION="<?php echo($php_self);?>" METHOD = POST> </FORM> KaU - Datavetenskap - DAV B04 - MGö 253 Textboxen <INPUT TYPE="text" NAME="name" SIZE="30"> KaU - Datavetenskap - DAV B04 - MGö 254 Pop-up boxen <SELECT NAME= color" SIZE="1"> <OPTION SELECTED>Blue <OPTION>Red </SELECT> KaU - Datavetenskap - DAV B04 - MGö 255 Karlstads Universitet, Datavetenskap 9

Sänd eller återställ informationen i formuläret <INPUT TYPE="submit NAME= submit > <INPUT TYPE="reset NAME= reset > KaU - Datavetenskap - DAV B04 - MGö 256 Viktigt att veta om PHP och formulär Namnet på textboxen, pop-up boxen, knapparna osv. blir automatiskt variabler i PHP! <?php if($submit) //Ok, arbeta mot databasen?> <FORM ACTION="<?php echo($php_self);?>" METHOD=POST> <INPUT TYPE="submit NAME= submit > </FORM> KaU - Datavetenskap - DAV B04 - MGö 257 Exempel på PHP och formulär KaU - Datavetenskap - DAV B04 - MGö 258 Karlstads Universitet, Datavetenskap 10

PHP och reguljära uttryck Reguljära uttryck kan användas för att kontrollera att det användaren matar in är i rätt form för en given kolumn exempelvis att ett Bach-nummer måste vara på formen BWV XXX(X) där X är en siffra mellan 0-9 KaU - Datavetenskap - DAV B04 - MGö 259 Exempel på reguljära uttryck Sök efter strängen Now i meningen Now is the time! if(ereg( Now, Now is the time! ) == true) print( Found ); if(ereg( ^Now, Now is the time! ) == true) print( Found ); if(ereg( Now$, Now is the time! ) == true) print( Found ); //Hittas ej KaU - Datavetenskap - DAV B04 - MGö 260 PHP och reguljära uttryck Bara bokstäver/siffror i ex. en variabel if(ereg( [A-Za-z0-9]*, $test) == true) print( Correct ); else print( Error ); * står för 0 eller flera gånger + står för 1 eller flera gånger n,m står för att det finns mellan minst n till som mest m gånger KaU - Datavetenskap - DAV B04 - MGö 261 Karlstads Universitet, Datavetenskap 11

PHP och reguljära uttryck Sant eller falskt? ereg( ^Now [a-z ]+$, Now is the time! ) ereg( ^Now [a-z ]+!$, Now is the time! ) Vill man sedan inte bry sig om stora eller små bokstäver så använder man istället eregi() KaU - Datavetenskap - DAV B04 - MGö 262 Mer information Manualer/tutorials/sökning www.php.net eller www.se.php.net Tutorial om PHP och MySQL http://www.mysql.com/articles/ddws/2.html Tutorial om html, formulär osv.. www.htmlgoodies.com Information om laborationen http://enterprise.cse.kau.se KaU - Datavetenskap - DAV B04 - MGö 263 Karlstads Universitet, Datavetenskap 12