46
Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012 Claus Brabrand ((( [email protected] ))) Associate Professor, Ph.D. ((( Programming, Logic, and Semantics ))) IT University of Copenhagen introduction to SCRIPTING, DATABASES, SYSTEM ARCHITECTURE HTML Forms, Intro to PHP, HTML Validation

introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Claus Brabrand ((( [email protected] ))) Associate Professor, Ph.D. ((( Programming, Logic, and Semantics ))) IT University of Copenhagen

introduction to SCRIPTING, DATABASES, SYSTEM ARCHITECTURE HTML Forms, Intro to PHP, HTML Validation

Page 2: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 2 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Agenda

n  1) HTML FORMS

n  2) PHP (intro)

n  3) HTML VALIDATION

n  4) ASSIGNMENT

Page 3: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 3 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

HTML Forms

n  Forms allow user to submit info to server: n  (e.g. Login, Email, Search, Polls, Surveys, …)

n  This information is subsequently processed by a program on the server (e.g., PHP script)

Page 4: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 4 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Form Submission n  1) The user fills out the form and clicks “submit”

(which sends the data back to the server) n  2) The server runs a web service (PHP program) that

processes the data and constructs an HTML reply n  3) The server sends back the dynamically constructed

HTML document (that may depend on the data!):

http request (url) (+data)

dynamic html response

submit

client

e

www

e

server

42 A B

program (e.g., PHP script)

Page 5: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 5 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Form Submission

http request (url) (+data)

dynamic html response

submit

client

e

www

e

google server

42 A B

PHP

Dynamic HTML reply may depend on: •  Data (submitted by client) •  Server state •  Time •  Other web sites…

Page 6: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 6 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

The <form> Element

n  Form syntax:

Value of the action attribute denotes the script that is to process the data of the form (when it is submitted)

n  Note: forms cannot be nested (i.e., a “form” cannot contain a “form”)

<form action=“address_of_script”>

... text / input fields / images / ...

</form>

Page 7: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 7 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Dictionary: ‘nest’

Main Entry: 1nest Pronunciation: \’nest\ Function: noun Etymology: Middle English, from Old English; akin to Old High German nest nest, latin nidus First Known Use: before 12th century 1a. A container or shelter made by a bird out of twigs, grass, or other material to hold its eggs and young. 1b. A similar structure in which fish, insects, or other animals deposit eggs or keep their young. 1c. A place in which young are reared; a lair. 1d. A number of insects, birds, or other animals occupying such a place: a nest of hornets. 2. A place affording snug refuge or lodging; a home. 3a. A place or environment that fosters rapid growth or development, especially of something undesirable; a hotbed: a nest of criminal activity. 3b. Those who occupy or frequent such a place or environment. 4a. A set of objects of graduated size that can be stacked together, each fitting within the one immediately larger; e.g., a nest of tables. 4b. A cluster of similar things. 5. [Computer Science]: A set of data contained sequentially within another. 6. A group of weapons in a prepared position: a machine-gun nest.

Merriam Webster’s(‘nest’):

Page 8: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 8 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Example Form

n  Example Form: <form action=“http://www.brics.dk/ixwt/echo”> <p> First name: <input type=“text” name=“firstname” /> <br /> Last name: <input type=“text” name=“lastname” /> <br /> </p> <input type=“submit” value=“Search” /> </form>

e John Doe

firstname=John lastname=Doe

client

server Try it: ( http://itu.dk/people/brabrand/DSDS/form.html ) More info: ( http://www.w3schools.com/html/html_forms.asp )

Page 9: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 9 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Example Form

n  Example Form: <form action=“mailto:[email protected]” method=“post” > <p> First name: <input type=“text” name=“firstname” /> <br /> Last name: <input type=“text” name=“lastname” /> <br /> </p> <input type=“submit” value=“Search” /> </form>

e John Doe

firstname=John& lastname=Doe

client

email

Page 10: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 10 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

n  Many “type”s of <input>:

n  <input type=“text” …/>

n  <input type=“password” …/>

n  <input type=“radio” …/>

n  <input type=“checkbox” …/>

n  <input type=“submit” …/>

n  <input type=“reset” …/>

n  …

<form action=“address_of_script”> <p> First name: <input type=“text” name=“firstname” /> <br /> ... </form>

<input … /> Try it: ( http://itu.dk/people/brabrand/DSDS/all-fields.html )

Page 11: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 11 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“text” … /> First name: <input type=“text” name=“firstname” />

e

Claus firstname=Claus

client

server

size=“30” (width of text field) maxlenght=“10” (max text length allowed)

Page 12: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 12 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“password” … /> Password: <input type=“password” name=“pass” />

e pass=12345678

client

server

Page 13: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 13 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“radio” … /> Coke: <input type=“radio” name=“drink” value=“coke” /> / Pepsi: <input type=“radio” name=“drink” value=“pepsi” />

e drink=coke

client

server

Note: same name ! (radio button group)

checked=“checked” (to tick off by default, on page load)

Page 14: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 14 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“checkbox” … /> Cheese: <input type=“checkbox” name=“ingr” value=“cheese” /> <br /> Tomato: <input type=“checkbox” name=“ingr” value=“tomato” /> <br /> Onion: <input type=“checkbox” name=“ingr” value=“onion” /> <br />

e ingr=cheese ingr=onion

client

server

Note: same name ! (checkbox group)

checked=“checked” (to tick off by default, on page load)

Page 15: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 15 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“submit” … /> <input type=“submit” value=“Order!” />

e

Clicking on a submit button causes all info to be submitted (sent) to the server the address of which was specified as the value of the action attribute of the form

client

server

Page 16: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 16 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“reset” … /> <input type=“reset” value=“Reset!” />

e

Clicking reset

causes the info in

the form to be ....

....well, reset

client

Page 17: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 17 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input/> attributes

Page 18: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 18 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

n  Many “type”s of <input>:

n  <input type=“text” …/>

n  <input type=“password” …/>

n  <input type=“radio” …/>

n  <input type=“checkbox” …/>

n  <input type=“submit” …/>

n  <input type=“reset” …/>

n  …

<form action=“address_of_script”> <p> First name: <input type=“text” name=“firstname” /> <br /> ... </form>

<input … />

Page 19: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 19 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

EXERCISE

For each of the “type”s of <input> fields (text, password, radio, checkbox) do:

n  1) Make an HTML form with the input field:

n  2) Submit to “echo service” (to see info submitted):

n  3) Submit form “via email” (to see info formatted):

<form> ...input field goes here... <input type=“submit” value=“Submit Form!” /> <input type=“reset” value=“Reset Form!” /> </form>

<form action=“mailto:[email protected]” method=“post” >

<form action=“http://www.brics.dk/ixwt/echo”>

Page 20: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

More <input/> fields…

Page 21: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 21 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<input type=“hidden” … /> <input type=“hidden” name=“abc” value=“xyz”/>

e abc=xyz

client

server

Note: serves to communicate information (state) from server to client and then back to server again

Page 22: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 22 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<textarea> <textarea name=“blah” rows=“5” cols=“30” > Enter text here... </textarea>

e blah=fgfweghefwh

client

server

Note: as text input field, but permits multiple lines of input

Page 23: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 23 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<select> <select name=“uni” > <option value=“ITU” >IT University of Copenhagen</option> <option value=“KU” >Copenhagen University</option> <option value=“CBS” >Copenhagen Business School</option> </select>

e uni=ITU

client

server

Note: essentially the same as a radio button group selected=“selected” (to tick off by default, on page load)

Page 24: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 24 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

<select multiple=“multiple”> <select name=“uni” multiple=“multiple” > <option value=“ITU” >IT University of Copenhagen</option> <option value=“KU” >Copenhagen University</option> <option value=“CBS” >Copenhagen Business School</option> </select>

e uni=ITU uni=CBS

client

server

Note: essentially the same as a checkbox group selected=“selected” (to tick off by default, on page load)

Page 25: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 25 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

EXERCISE (II)

For each of the “type”s of <input> fields (hidden, textarea, select, select-multiple) do:

n  1) Make an HTML form with the input field:

n  2) Submit to “echo service” (to see info submitted):

n  3) Submit form “via email” (to see info formatted):

<form> ...input field goes here... <input type=“submit” value=“Submit Form!” /> <input type=“reset” value=“Reset Form!” /> </form>

<form action=“mailto:[email protected]” method=“post” >

<form action=“http://www.brics.dk/ixwt/echo”>

Page 26: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 26 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Agenda

n  1) HTML FORMS

n  2) PHP (intro)

n  3) HTML VALIDATION

n  4) ASSIGNMENT

Page 27: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 27 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Programming Language

n  A programming language allows us to tell (instruct) a computer what to do

n  There are many different prog. languages: n  PHP, Java, C, C++, Pascal, JavaScript, … (10000s) n  They all have different characteristics n  Which one to use depends on what we want to do

n  PHP: made specifically for web service programming!

n  Learning to program can be hard. Be patient! n  Initially: 20% programming + 80% debugging

Page 28: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 28 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP

n  PHP: Hypertext Preprocessor n  Made for web service programming !!!

n  It is a “scripting language” (used in Facebook, Wikipedia, Wordpress, …)

n  Other scripting languages: n  ASP (Microsoft) n  Javascript n  Actionscript (Flash)

Page 29: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 29 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Traditional Web Programming

e"

e"

e" Web!Service!

client

HTML

HTML

form input

server www

HTML

HTML

Page 30: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 30 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Web Service Programming

e"

e"

e" Web!Service!

client

HTML

HTML

form input

server www

Page 31: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 31 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP

n  PHP is a programming language made specifically for web service programming

n  PHP code runs on the server (i.e., not on your computer)

n  Programming model of PHP: n  HTML with special PHP tags

(<?php … ?>) that are evaluated and generate (dynamic) HTML

HTML

PHP

PHP

HTML

HTML

HTML

Page 32: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 32 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Example: Hello World!

n  PHP code is written in <?php … ?> tags inside regular HTML

n  Each PHP command ends with “;” (semicolon) n  “echo” is a command that prints the argument

(in this case it will print “Hello World!”)

<html> <body> <?php echo “Hello World!” ; ?> </body> </html>

HTML

PHP

PHP

HTML

HTML

HTML

Hello World!

Page 33: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 33 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Example: Hello World!

n  We can make HTML tags (e.g., <h1>…</h1>, <b>…</b>, …)

n  We can write multiple lines

<html> <body> <?php echo “<h1>Hello World!</h1>” ; echo “<p/>” ; echo “This is <b>bold</b> and <i>italic</i>” ; ?> </body> </html>

Hello World!

This is bold and italic

Page 34: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 34 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Example: Hello World! <html> <body> <?php echo “<h1>Hello World!</h1>” ; echo “<p/>” ; echo “This is <b>bold</b> and <i>italic</i>” ; ?> </body> </html>

<html> <body> <?php echo “<h1>Hello World!</h1>” ; ?> <p/> <?php echo “This is <b>bold</b> and <i>italic</i>” ; ?> </body> </html>

= Hello World!

This is bold and italic

Page 35: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 35 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Example: Variables <html> <body> <?php $year = 2012 ; echo “The year is:” ; echo $year ; ?> </body> </html> The year is: 2012

<html> <body> <?php $year = 2012 ; ?> The year is: <?php echo $year ; ?> </body> </html>

The year is: 2012

=

Page 36: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 36 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Example: Variables

n  We can make calculations: ($year + 1)

<html> <body> <?php $year = 2012 ; echo “Next year is:” ; echo ($year + 1) ; ?> </body> </html>

Next year is: 2013

Page 37: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 37 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

PHP Example: Today’s date

n  We can output dynamic information! n  date(“…”) is a built-in function that returns

today’s date according to some format “…”

<html> <body> Today is: <?php $today = date(“d-m-Y”) ; echo $today ; ?> </body> </html>

( http://php.net/manual/en/function.date.php )

Today is: 07-09-2012

Page 38: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 38 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Agenda

n  1) HTML FORMS

n  2) PHP (intro)

n  3) HTML VALIDATION

n  4) ASSIGNMENT

Page 39: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 39 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

HTML Document Structure

n  HTML Document Structure (refresh): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello!</title> </head> <body> <p>hello world! </body> </html>

VALID ? ( http://validator.w3.org/ )

Page 40: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 40 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

XHTML Document Structure

n  XHTML Document Structure (refresh): <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello</title> </head> <body> <p>Hello World!</p> </body> </html>

VALID ? ( http://validator.w3.org/ )

Page 41: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 41 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

XHTML (Common Mistakes)

n  Elements must be properly nested: n  <i><b></b></i> (not <i><b></i></b>)

n  Attributes values in single or double quotes: n  <a href=“xyz” /> or <a href=‘xyz’ /> (not <a href=xyz />)

n  Always lower case element names: n  <html> (not <HTML>)

n  All elements must be closed: n  <p>…</p> or <p /> (not: <p>…) n  <img src=“my_picture.png” />

Page 42: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 42 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Validation of (X)HTML n  Static Validation:

n  Dynamic Validation:

input

dynamic html

client

e

www

e

server

program (e.g., PHP script)

VALID ? ! ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello!</title> </head> <body> <p>hello world! </body> </html>

Validate:

Page 43: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 43 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Agenda

n  1) HTML FORMS

n  2) PHP (intro)

n  3) HTML VALIDATION

n  4) ASSIGNMENT

Page 44: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 44 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

How to submit assignments n  We have created a special folder on ITU server:

n  http://www.itu.dk/stud/e2012/DSDS/

n  You need to upload your files to your folder: n  W:/e2011/DSDS/username (W-drive); or

n  /import/stud/www/e2012/DSDS/username (SFTP/SSH)

n  You need to create a folder for each assignment A1, A2, etc. and put your final solution there:

n  /import/stud/www/e2012/username/A1/

n  (do not use your personal public_html folder)

Page 45: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

[ 45 ] Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

FileZilla (FTP Client)

n  FileZilla (FTP Client): n  http://filezilla-project.org/

n  Connect using your ITU username+password

n  Hand-in folder: /import/stud/www/e2012/DSDS/username/A1/ http://www.itu.dk/stud/e2012/DSDS/username/A1/

Page 46: introduction to SCRIPTING DATABASES SYSTEM … › ~brabrand › DSDS › DSDS-1.pdfClaus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE [ 4 ] Sep 07, 2012 Form

Claus Brabrand, ITU, Denmark SCRIPTING, DATABASES, & SYSTEM ARCHITECTURE Sep 07, 2012

Any questions?