72
PHP, ASP.NET

XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP, ASP.NET

Page 2: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Što ćete naučiti Internet općenito

HTML

CSS

XML

XHTML

Javascript

DOM

DHTML

AJAX

jQuery

PHP

ASP.NET

Ruby On Rails

MS Silverlight

FLASH, SMIL, SVG

...

2

Page 3: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP i ASP.NET Uvod u PHP i ASP.NET

Samo “kratki” pregled

Jednostavni primjeri korištenja

Page 4: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Serversko skriptiranje Za razliku od JavaScripta, serverske skripte izvršava

poslužitelj prije slanja http odgovora klijentu

Serversko programiranje: CGI, Servleti

Aplikacije koje poziva web server kako bi odradile složeniji posao prije slanja odgovora klijentu

Skriptni jezici: PHP i ASP

Page 5: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP PHP - PHP: Hypertext Preprocessor (rukurzivno)

PHP - personal home page (stari akronim)

Riječ je o serverskom skriptiranju

PHP se izvršava na serveru

Podrška za baze podataka (najčešće MySQL)

Open source

Besplatan za korištenje

Page 6: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Uvod PHP Skriptni jezik opće namjene, otvorenog koda Pogodan za razvoj Weba Dostupan na raznim platformama

Windows, Linux, Unix, OS X, ...

Jednostavan za učenje Sintaksa slijedi C, Javu, Perl

http://www.php.net

Page 7: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Povijest Početak kao dio Perl-a 1997 (Personal Home page), Danas najkoristenija verzija 5.x.x Preko 16 milijuna domena koristi PHP

HTML ne radi s podacima (služi samo da oblikuje prikaz hipertekstualnih elemenata)

PHP radi s podacima (obrasci, baze podataka itd..)

Cilj: Jednostavan jezik za brzo stvaranje dinamičkih stranica Weba

Page 8: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Instalacija php-a Web server mora imati podršku za php – php engine

adria.fesb.hr podržava php

(Ali ne i mysql )

Rad na localhost: wamp ili xampp

Page 9: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP datoteka Nije striktno vezana samo za PHP kod

Može sadržavati tekst, HTML i skripte

Nakon obrade PHP datoteke server vraća čisti HTML

Ekstenzije “.php”,”.php3”,”.phtml”

Page 10: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS,

Windows, FreeBSb, Apache, Netscape...

Multi DataBase Access – MySQL, PostgreSQL, dBase, Oracle, Informix, Sysbase, ODBC itd

Komunicira sa ostalim servisima i protokolima –IMAP, LDAP, SNMP, HTTP, POP, zatim podrška za XML i CORBA OO aplikacije...

PHP je hibridni jezik, podržava proceduralano i objektno orijentirano programiranje, gotovo sve tipove podataka (Boolean, Integer, Floating-point number (float), String, Array, Object, Resource, NULL) itd...

Ostalo : jednostavan, brz, intuitivan, stabilan, open source i besplatan, podržava ekstenzije...

Page 11: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Princip rada PHP-a Proces uključivanja PHP programa uključuje sljedeće

korake: Korisnik putem preglednika zahtijeva određeni resurs (PHP

program, datoteku).

Zahtjev dolazi na poslužitelj koji prepoznaje da se radi o PHP programu.

Poslužitelj poziva PHP engine koji izvršava PHP program koji za rezultat ima HTML kod koji se onda nazad šalje korisniku.

Page 12: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Hello World - PHP

Svaka linija završava sa “;”

“;” je separator koji odvaja instrukcije

Datoteka u kojoj se nalazi ovaj kod mora imati ekstenziju .php (ili slične)

Page 13: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Sintaksa Dinamički dijelovi određeni sa:

<?php ?>

Moguće još i konstrukcije: <% %>

<? ?>

<script language='php'> </script>

U trenutku pokretanja .php skripte na serveru se pokreće novi proces

Page 14: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Sintaksa Kombinacija C, C++, Perl, Java te nešto vlastite sintakse Više načina kombiniranja sa HTML-om i escaping from

HTML Case sensitive (uglavnom) ali nije osjetljiv na whitespace

(pazno mjesto, razmak) Osnovne naredbe php-a se prepoznaju u bilo kojem obliku

(npr. echo,ECHO,Echo...), ali imena varijabli su case sensitive

Komentari:/* Komentar u jednom ili višeredaka kao u C-u*/// Komentar u jednom redu ako u C++,Javi

Page 15: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Sintaksa PHP - Loosely Typed Language

Varijablu nije potrebno deklarirati prije korištenja, PHP automatski deklarira varijablu kad je to potrebno

Nije potrebno definirati tip varijable

Ovisno o vrijednosti, PHP pretvara varijablu u određeni tip

$ime_varijable=23;

$ime_str_var=“Pozdrav!”;

Page 16: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Sintaksa Varijable su osnovni način pohrane podataka ($varijabla),

postoje i predefinirane varijable za lakši rad

U imenu varijable za početni znak možemo koristiti slovo ili podvlaku (underline), a iza toga mogu se koristiti slova, brojevi i podvlake.

Korištenje posebnih znakova nije dozvoljeno.

Imena varijabli su case-sensitive, znači osjetljiva na korištenje malih i velikih slova.

Page 17: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Tipovi podataka Skalarni tipovi

Boolean Integer Float (dvostruka preciznost) String (8-bitni znakovi)

Složeni tipovi Array (simboličko polje, hash) Object (OO funkcionalnost)

Posebni tipovi Resource (pokazuju na vanjske resurse – npr. Otvorene

datoteke) NULL (prazan tip, pridružen varijablama koje nemaju

vrijednost)

Page 18: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Sintaksa Skup operatora sličan C-u

Spajanje stringova -> “.”

Operator identiteta -> “===“ jednakost vrijednosti i tipa

Page 19: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Sintaksa Upravljanje tokom programa

if ... elseif ... Else while, do ... While for, foreach break, continue switch return

Funkcije function fx ($x) { return $x; }

Page 20: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Primjer

Page 21: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP operatori PHP podržava gotovo sve tipove operatora:

Aritmetički

Logički

Operator spajanja dva niza (string-a)...

Aritemetički: $a + $b - zbrajanje

$a - $b - oduzimanje

$a * $b - množenje

$a / $b - dijeljenje

$a % $b – modul, ostatak cjelobrojnog dijeljenja

Page 22: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP operatori Logički:

$a and $b – i a i b $a or $b – a ili be $a xor $b – a ili b, ne oba !$a – nije a $a && $b – i a i b $a || $b – a ili b

Operator spajanja dva niza (string-a): $a = "Spajanje "; $b = $a . "dva niza!";

Page 23: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP operatori PHP podržava i pre i post inkrementaciju i

deinkrementaciju varijabli, npr.inkrementacija: $a=5;

$a++;

++$a

Primjer deinkrementacije: $b=9;

--$b;

$b --;

Page 24: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Kontrole strukture PHP ima ugrađenu višestruku podršku za kontrolu toka i

izraza poznatu iz ostalih jezika: If

If else

If else if

While

Do while

For

Foreach

Switch case

Break , continue

Page 25: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

IF struktura IF kontrolna struktura, poznata iz drugih jezika, jedna je

od najvažnijih i u PHP jeziku. Sintaksa je vrlo slična C jeziku. Primjer if strukture je:

if ($a>$b){

echo "Varijabla a je veća od varijable b";

}

Vitičaste zagrade mogu se i izostaviti u posebnim slučajevima

Page 26: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

IF ELSE struktura Ova struktura izvršava neku naredbu ili skup naredbi ako

je uvjet ispunjen, a ukoliko nije onda izvršava neki drugi skup naredbi

Primjer:if ($a>$b){echo "Varijabla a je veća od varijable b";} else {echo "Varijabla a je manja od varijable b";}

Page 27: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

IF ELSE IF struktura Ova struktura proširuje IF ELSE strukturu sa više ELSE IF

uvjeta, npr:if ($a>$b){echo "Varijabla a je veća od varijable b";} else if ($a ==$b){echo "Varijabla a je jednaka varijabli b";} else {echo "Varijabla a je manja od varijable b";}

Page 28: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

WHILE struktura petlje WHILE kontrolne petlje su petlje kod kojih se naredba ili skup naredbi izvršava

dok su ispunjeni zadani uvjeti, npr:$a=1;while ($a<10){echo "Varijabla a je manja od 10!";$a++;}

DO WHILE je proširenje WHILE petlje, ova petlja se za razliku od WHILE petlje izvede bar jedan put, neovisno o tome da li je uvjet ispunjen ili ne, npr.:

$a=1;do {echo "Varijabla a je manja od 10!";$a++;} while ($a<10)

Page 29: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

FOR petlja PHP također podržava i FOR kontrolne strukture, čiji je opći oblik:for (izraz1;izraz2;izraz3) {naredbe1;naredbe2;...naredbeN;}

Npr:for ($a=0; $a=<10; $a++) {echo $a;}

Page 30: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Funkcije u PHP-u PHP podržava rad sa funkcijama, kao i ostali programski

jezici, opći oblik definicije funkcije je navođenjem ključne riječi function, npr.:

function ime_funkcije ($argument1, $argument2,

..$argumentN)

{

izrazi1;

izraz2;

...

izrazN;

}

Page 31: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Superglobals Predefinirane varijable u php-u $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION

http://www.w3schools.com/php/php_superglobals.asp

Page 32: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP i obrada formi Pretpostavimo jednostavni primjer:

<html><body><form action=“primjer1.php” method=“POST”>Ime : <input type="text" name="ime"><br>Prezime: <input type="text"name="prezime"><br><input type="submit" name="slanje"value="Posalji"></form></body></html>

Page 33: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP i obrada formi ♦ PHP program za obradu bio bi (primjer1.php):

<?php

// prihvat i ispis podataka forme

echo " Dobar dan, Vi ste: $ime $prezime ";

?>

♦ Gornji slučaj je moguć ukoliko je

REGISTER_GLOBALS postavljene na ON, a

ukoliko su postavljene na OFF , PHP program

primjer1.php varijable $ime i $prezime mora ove

vrijednosti pročitati iz nizova $_POST['ime'] i

$_POST['prezime'].

Page 34: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Nizovi U PHP-u postoje tri vrste nizova

Numerički nizovi

$cars=array("Saab","Volvo","BMW","Toyota");

$cars[2]="BMW";

Asocijativni nizovi

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

$ages['Quagmire'] = "30";

Multidimenzionalni nizovi

Page 35: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Multidimenzionalni nizovi

Page 36: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP i obrada formi Pretpostavimo jednostavni primjer:

<html>

<body><form action=“primjer1.php” method=“POST”>Ime : <input type="text" name="ime"><br>Prezime: <input type="text"name="prezime"><br><input type="submit" name="slanje"value="Posalji"></form></body></html>

Page 37: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP i obrada formi PHP program za obradu bio bi (primjer1.php):

<?php

// prihvat i ispis podataka forme

echo " Dobar dan, Vi ste: $ime $prezime ";

?>

Gornji slučaj je moguć ukoliko je REGISTER_GLOBALS postavljene na ON, a ukoliko su postavljene na OFF , PHP program primjer1.php varijable $ime i $prezime mora oveVrijednosti pročitati iz nizova $_POST['ime'] i$_POST['prezime'].

Page 38: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

PHP i MySQL <?php

$con = mysql_connect("localhost","peter","abc123");if (!$con){die('Could not connect: ' . mysql_error());}

// some code?>

Page 39: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Otvaranje i zatvaranje veze <?php

$con = mysql_connect("localhost","peter","abc123");if (!$con){die('Could not connect: ' . mysql_error());}

// some code

mysql_close($con);?>

Page 40: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

SQL Standardni jezik za rad s bazama podataka

Structured Query Language

Naredbe:

SELECT, INSERT, UPDATE, DELETE

WHERE, AND,OR

Page 41: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

SELECT * FROM Customers;

SELECT DISTINCT City FROM Customers;

SELECT * FROM Customers WHERE Country='Mexico';

SELECT * FROM Customers WHERE CustomerID=1;

SELECT * FROM CustomersWHERE Country='Germany'AND (City='Berlin' OR City='München');

Page 42: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Slanje naredbi <?php

$con = mysql_connect("localhost","peter","abc123");if (!$con){die('Could not connect: ' . mysql_error());}

mysql_select_db("my_db", $con);

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Peter', 'Griffin', '35')");

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Glenn', 'Quagmire', '33')");

mysql_close($con);?>

Page 43: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Unos podataka u bazu <?php

$con = mysql_connect("localhost","peter","abc123");if (!$con){die('Could not connect: ' . mysql_error());}

mysql_select_db("my_db", $con);

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Peter', 'Griffin', '35')");

mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Glenn', 'Quagmire', '33')");

mysql_close($con);?>

Page 44: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Unos podataka forme u bazu <html>

<body>

<form action="insert.php" method="post">Firstname: <input type="text" name="firstname" />Lastname: <input type="text" name="lastname" />Age: <input type="text" name="age" /><input type="submit" /></form>

</body></html>

Page 45: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

<?php$con = mysql_connect("localhost","peter","abc123");if (!$con)

{die('Could not connect: ' . mysql_error());}

mysql_select_db("my_db", $con);

$sql="INSERT INTO Persons (FirstName, LastName, Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());}

echo "1 record added";

mysql_close($con)?>

Page 46: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Dohvat podataka iz baze <?php

$con = mysql_connect("localhost","peter","abc123");if (!$con)

{die('Could not connect: ' . mysql_error());}

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

while($row = mysql_fetch_array($result)){echo $row['FirstName'] . " " . $row['LastName'];echo "<br />";}

mysql_close($con);?>

Page 47: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,
Page 48: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET ASP.NET nije isto što i ASP (klasični ASP)

Klasični ASP – zadnja verzija ASP 3.0

ASP.NET nije povratno kompatibilan sa ASP

Dio .NET Framework-a

Raniji naziv ASP+

Page 49: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET Server side skriptiranje

Microsoftova tehnologija

ASP – Active Server Pages

IIS (Internet Information Services) – Microsoft Internet Server (besplatan)

Page 50: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET datoteka Slično kao i PHP:

Sadrži HTML, XML, skripte,...

Nastavak .aspx

Page 51: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET Pretraživač zatraži ASP.NET file

IIS šalje zahtjev ASP.NET engine-u na serveru

ASP.NET engine čita datoteku, izvodi skripte

Server vrati HTML file

Page 52: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

.NET Framework Infrakstuktura za .NET platformu

Izrada i izvođenje Web aplikacija i Web servisa

Cilj:

Smanjiti količinu koda

Pojednostaviti programiranje

Veliki broj klasa na raspolaganju

Page 53: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

.NET Framework Sastoji se od 3 dijela:

Programski jezici:

C#

Visual Basic

J#

Serverske i klijentske tehnologije

ASP.NET

Windows Forms

Compact Framework

Razvojna okruženja

Page 54: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET ASP.NET 2.0 poboljšava ASP.NET dodajući

podršku za nekoliko novih sadržaja

ASP.NET 3.0 nije nova verzija ASP.NET-a

samo novo ime za ASP.NET 2.0 framework biblioteku sapodrškom za Windows Presentation Foundation,Windows Communication Foundation, WindowsWorkflow Foundation i Windows CardSpace.

Page 55: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Novosti u ASP.NET Bolja podrška za jezike Programabilne kontrole Programiranje pokretano događajima (events) XML bazirane komponente Korisnička provjera, sa računima i ulogama Veća sposobnost rasta Povećana performansa – Kompajliran kod Lakša konfiguracija i implementacija Ne u potpunosti ASP kompatibilno

Page 56: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Podrška za jezike ASP.NET koristi novi ADO.NET

ASP.NET podržava puni Visual Basic, ne VBScript

ASP.NET podržava C# (C sharp) i C++

ASP.NET podržava JScript kao i prije

Page 57: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET kontrole ASP.NET sadrži veliki broj HTML kontrola

Skoro svi HTML elementi na stranici mogu bitidefinirani kao ASP.NET kontrolni objekti kojeskripte mogu kontrolirati

ASP.NET također sadrži novi set objektno-orijentiranih ulaznih kontrola

Page 58: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Dodatno o ASP.NET Odlična podrška za događaje (events)

ASP.NET komponente bazirane na XML-u

Autentifikacija korisnika

Korisnički računi i uloge

Jednostavna konfiguracija

Page 59: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Primjer<html>

<body bgcolor="yellow">

<center>

<h2>Hello W3Schools!</h2>

<p><%Response.Write(now())%></p>

</center>

</body>

</html>

Page 60: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET Kod unutar <% --%> tagova se izvršava na poslužitelju

Response.Write je ASP.NET kod za pisanje nečega u HTML izlazni tok

Now() je funkcija koja vraća vrijeme i datum sa poslužitelja

Ograničenje u klasičnom ASP-u : blok koda mora biti smješten tamo gdje želite da se izlaz prikaže

Sa klasičnim ASP-om je nemoguće odvojiti izvršni kod od HTML-a. Ovo čini stranicu teško čitljivom i teškom za održavanje.

Page 61: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Server kontrole HTML Server Kontrole – Tradicionalni HTML tagovi

Web Server Kontrole - Novi ASP.NET tagovi

Validation Server Kontrole – Za validaciju inputa

Page 62: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

HTML Server kontrole HTML kontrole poslužitelja su HTML tagovi koje server

razumije

HTML elementi ASP.NET datoteka su, po default-u, tretirani kao tekst. Da bi ih se učinilo programabilnima, dodaje se runat=“server" atribut HTML elementu.

Ovaj atribut upućuje da bi element trebao biti tretiran kao kontrola poslužitelja. Id atribut se dodaje kao identifikacija kontrole poslužitelja.

Sve HTML kontrole poslužitelja moraju biti unutar <form> taga sa runat="server" atributom

runat="server" atribut pokazuje da se forma treba obraditi na poslužitelju.

Page 63: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,
Page 64: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Web Server kontrole Web kontrole poslužitelja su posebni ASP.NET tagovi koje

poslužitelj razumije

Poput HTML kontrole poslužitelja, Web kontrole poslužitelja su također stvorene na poslužitelju i zahtijevaju runat="server" atribut za rad

Sintaksa:

<asp:control_name id="some_id" runat="server" />

Page 65: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,
Page 66: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Validation Server kontrole Validation kontrole servera se koriste za user-

input. Ako user-input ne prođe potvrdu, prikazati će se error poruka korisniku.

Svaka kontrola vrši specifičnu validaciju

Validacija se vrši nakon što se klikne Button, ImageButton ili LinkButton

Sintaksa:

<asp:control_name id="some_id" runat="server" />

Page 67: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,
Page 68: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET forme Sve server kontrole moraju se nalaziti unutar <form>

taga koji mora sadržavati runat=“server” atribut

Form submit:

<asp:Button id="id" text="label" OnClick="sub" runat="server" />

Kad se forma “submita”, ona se ponovo pojavljuje sa svim vrijednostima radi ViewState objekta

Page 69: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

ASP.NET primjer C#

Page 70: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,
Page 71: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Data Binding asp:RadioButtonList

asp:CheckBoxList

asp:DropDownList

asp:Listbox

Page 72: XHTML 2.0 and HTML 5 · Još o PHP-u Neovisnost o OS i serverskoj platformi –Unix, Linux, Solaris, MacOS, Windows, FreeBSb, Apache, Netscape... Multi DataBase Access –MySQL, PostgreSQL,

Što ćete naučiti Internet općenito

HTML

CSS

XML

XHTML

Javascript

DOM

DHTML

AJAX

jQuery

PHP

ASP.NET

Ruby On Rails

MS Silverlight

FLASH, SMIL, SVG

...

72