Documente Academic
Documente Profesional
Documente Cultură
Dezvoltarea Aplicațiilor Web (Curs)
Dezvoltarea Aplicațiilor Web (Curs)
Suport de curs
Autor: Lect. univ. dr. Horea Oros
Universitatea din Oradea
Departamentul de Matematic i Informatic
1
Aplicaii web
n Browser Scripting
n JavaScript, HTML DOM, DHTML, VBScript, AJAX
n Server Scripting
n SQL, ASP, PHP, ADO
PHP introducere
n PHP este un limbaj de programare
PHP introducere
n Sintaxa PHP este similar cu cea a
limbajului C.
n PHP este folosit adesea mpreun cu
serverul web Apache pe diferite sisteme
de operare.
n Poate fi folosit i cu IIS pe sisteme
Microsoft.
Introducere PHP
n Un fiier PHP poate conine text, taguri HTML
Ce este PHP?
n PHP = PHP: Hypertext Preprocessor
n PHP limbaj scripting server side, la fel ca
ASP
n PHP este executat pe server
n PHP suport multe baze de date (MySQL,
Informix, Oracle, Sybase, Solid, PostgreSQL,
Generic ODBC etc.)
n PHP este open source
n PHP se poate descrca i folosi gratis
6
scripturi
n Fiierele PHP sunt returnate browser-ului ca
fiiere ce conin doar cod HTML
n Au extensia ".php", ".php3 .php4, .php4
sau ".phtml"
Ce este MySQL?
n Server pentru baze de date
n Ideal att pentru aplicaii mici ct i pentru
Apache+PHP+MySQL
n PHP + MySQL sunt cross-platform (se poate
Apache+PHP+MySQL
n PHP este simplu de nvat i ruleaz eficient
pe partea de server
n Cum se poate ncepe?
n
n
n
n
Sintaxa PHP
n Sintaxa PHP nu se poate vedea prin View
Sintaxa PHP
n Fiecare linie trebuie s se termine cu ;
n ; este separator de instruciuni
n Instruciuni pentru afiarea textului: echo,
print
n Comentarii n PHP
<html> <body>
<?php
//comentariu stil C++
/* comentariu
stil C */
# comentariu tip shell
?>
</body> </html>
12
Variabile PHP
n Variabilele se folosesc pentru a stoca
13
Stringuri PHP
n Rolul string-urilor este de a gestiona textul
<?php
$txt="Hello World";
echo $txt;
?>
n Operatorul de concatenare
<?php
$txt1="Hello World";
$txt2="1234";
echo $txt1 . " " . $txt2;
?>
14
Stringuri PHP
Funcia strlen
<?php
echo strlen("Hello world!"); // 12
?>
Funcia strpos
<?php
echo strpos("Hello world!","world"); // 6
?>
15
Operatori PHP
n Operatori aritmetici: +, -, *, /, ++, -n Atribuire: =, +=, -=, *=, /=, .=, %=
n Operatori relaionali: ==, !=, <, >, <=, >=
n Operatori logici: &&, ||, !
n
16
Instruciunea if...else
if (condiie)
cod ce se executa cnd condiia e true;
else
cod ce se executa cnd condiia e fals;
<html> <body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
else echo "Have a nice day!";
?>
</body> </html>
17
Instruciunea elseif
<html> <body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
elseif ($d=="Sun")
echo "Have a nice Sunday!";
else echo "Have a nice day!";
?>
</body> </html>
18
Instruciunea switch
switch (expr) {
case label1:
cod care se execut cnd expr = label1;
break;
case label2:
cod care se execut cnd expre = label2;
break;
default:
cod;
}
19
Tablouri
n Fiecare element al unui tablou are un ID
n Tipuri de tablouri
n
n
n
n Tablouri numerice:
n
n
$names = array("Peter","Quagmire","Joe");
ID-ul numeric este generat automat
21
Tablouri
ID-ul numeric generat manual
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
<?php
echo $names[1] . " and " . $names[2] . " are ".
$names[0] . "'s neighbors";
?>
22
Tablouri asociative
n Fiecare element este o pereche (cheie,
valoare)
n Exemplu
$ages = array("Peter"=>32,
"Quagmire"=>30,
"Joe"=>34);
<?php
echo "Peter is " . $ages['Peter'] . " years old.";
?>
23
Tabouri multidimensionale
n Fiecare element al tabloului poate fi un tablou
$families = array (
"Griffin"=>array ( "Peter", "Lois", "Megan),
"Quagmire"=>array ( "Glenn),
"Brown"=>array ( "Cleveland", "Loretta)
);
echo Este " . $families['Griffin'][2] . " membru al
familiei";
Dac este afiat...
24
Tablouri asociative
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)
25
Instruciuni repetitive
n while
n do while
n for
n for each
26
while
<html> <body>
<?php
$i=1;
while($i<=5) {
echo "The number is " . $i . "<br />";
$i++;
}
?>
</body> </html>
27
do - while
<html> <body>
<?php
$i=0;
do {
$i++;
echo "The number is " . $i . "<br />";
} while ($i<5);
?>
</body> </html>
28
for
<html> <body>
<?php
for ($i=1; $i<=5; $i++) {
echo "Hello World!<br />";
}
?>
</body> </html>
29
foreach
n Folosit pentru a itera peste tablouri
<html> <body>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value) {
echo "Value: " . $value . "<br />";
}
?>
</body> </html>
30
Funcii PHP
n PHP are foarte multe funcii (>700)
n Se pot crea funcii definite de utilizator
n Funcie = bloc de cod ce poate fi executat
oricnd
n Funcia ncepe cu "function()"
n Numele funciei trebuie s indice scopul ei
n Blocul funciei delimitat de {, }
31
}
echo "1 + 16 = " . add(1,16);
?>
</body> </html>
34
35
PHP $_GET
n Variabila $_GET este folosit pentru a
PHP $_GET
<form action="welcome.php" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
n bara de adres:
.../welcome.php?name=Horea&age=30
39
PHP $_GET
welcome.php
Welcome
<?php echo $_GET["name"]; ?>.
<br />
You are <?php echo $_GET["age"]; ?>
years old!
40
PHP $_GET
n Nu se folosete cnd se trimit parole
n Adresa cu valorile cmpurilor poate fi
100 de caractere
41
PHP $_REQUEST
n Conine valorile din:
n
42
PHP $_POST
n Folosit pentru a obine datele din formulare
PHP $_POST
n n bara de adres .../welcome.php
n n welcome.php
44
PHP $_POST
n Datele nu sunt afiate n bara de adres
n Nu exist o limit asupra lungimii datelor
n Paginile nu pot fi incluse n Favorites sau
Bookmarks
45
PHP date()
n Funcie folosit pentru a obine data n diferite
moduri
n Sintaxa: date(format,timestamp)
n Timestamp (opional) = numrul de secunde
de la 1 Ianuarie 1970 la 00:00:00 GMT
n Timestamp (implicit) = data i ora curent
46
?>
47
48
PHP include
n Funciile include() sau require() sunt folosite
</body> </html>
50
<html> <body>
<a href=index.php">Home</a> |
<a href=about.php">About Us</a> |
<a href="contact.php">Contact Us</a>
51
52
continu
54
se oprete
n Este recomandat a se folosi require()
55
<html> <body>
<?php
$file=fopen("welcome.txt","r");
?>
</body> </html>
56
r read only
r+ read/write
w write only (dac exist l terge)
w+ read/write (dac exist l terge)
a append (se pstreaz coninutul)
a+ read/append (se pstreaz coninutul)
x creeaz fiier nou(dac exist return eroare)
x+ read/write (dac exist return eroare)
57
59
fiierului
modul w, a sau x
60
<?php
$file = fopen("welcome.txt", "r") or
exit("Unable to open file!");
while(!feof($file)) {
echo fgets($file). "<br />";
}
fclose($file);
?>
61
<?php
$file=fopen("welcome.txt","r") or
exit("Unable to open file!");
while (!feof($file)) {
echo fgetc($file);
}
fclose($file);
?>
62
64
PHP cookie
n Cookie sunt folosite pentru a identifica un
user
n Este un fiier mic pe care serverul l salveaz
pe calculatorul user-ului
n Cnd este cerut o pagin va fi trimis i
cookie-ul salvat anterior
n Cu PHP se pot crea i obine valorile cookie
68
PHP cookie
n Creare cu setcookie() trebuie s apar
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html> <body>
</body> </html>
69
PHP cookie
n Obinerea unei valori cookie:
n
n Exemplu:
<?php
// Tiparirea unui cookie
echo $_COOKIE["user"];
// Vizualizarea tuturor cookie-urilor
print_r($_COOKIE);
?>
70
PHP cookie
n Pentru verifica dac un cookie a fost setat se
<html> <body>
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] .!<br />";
else
echo "Welcome guest!<br />";
?>
</body> </html>
71
PHP cookie
n Stergerea unui cookie trebuie s ne
72
PHP - sesiuni
n O variabil de sesiune PHP este folosit
PHP - sesiuni
n Sesiunile funcioneaz prin crearea unui ID
74
PHP - sesiuni
n Pornirea unei sesiuni PHP
<?php
session_start();
?>
<html> <body>
</body> </html>
n Sesiunea utilizator este nregistrat la server
n Permite nceperea salvrii informaiilor
n Atribuie UID pentru sesiunea utilizatorului
75
PHP - sesiuni
n Stocarea unei variabile de sesiune
<?php
session_start();
$_SESSION['views']=1; // stocarea datelor de sesiune
?>
<html> <body>
<?php
//obtinerea datelor de sesiune
echo "Page views=". $_SESSION['views']; ?>
</body> </html>
76
PHP - sesiuni
n Contor de vizionri ale paginii
<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views']=
$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
77
PHP - sesiuni
n Distrugerea unei sesiuni: unset() sau
session_destroy()
n Eliberarea unei variabile de sesiune
<?php
unset($_SESSION['views']);
?>
n Distrugerea complet a sesiunii
<?php
session_destroy();
?>
78
PHP - email
n Se pot trimite email-uri direct dintr-un script
cu funcia mail()
n Sintaxa:
n
mail(to,subject,message,headers,parameters)
79
PHP - email
<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
80
someone@example.com%0A
Cc:person2@example.com %0A
Bcc:person3@example.com,
person3@example.com,
anotherperson4@example.com,
person5@example.com%0AB
To:person6@example.com
n Email-ul va ajunge i la alte adrese
82
<html> <body>
<?php
function spamcheck($field)
{ //filter_var() sanitizes the e-mail
//address using FILTER_SANITIZE_EMAIL
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
//filter_var() validates the e-mail
//address using FILTER_VALIDATE_EMAIL
if(filter_var($field, FILTER_VALIDATE_EMAIL)) {
return TRUE;
} else { return FALSE; }
}
if (isset($_REQUEST['email']))...............
83
foarte simplu
n Mesajul de eroare conine:
n
n
n
Numele fiierului
Numrul liniei
Mesaj afiat de browser
n Funcia die()
n Erori particularizate - Triggere de erori
n Raportarea erorilor
84
85
<?php
if(!file_exists("welcome.txt"))
{
die("File not found");
} else
{
$file=fopen("welcome.txt","r");
}
?>
86
particularizat
n O funcie care este apelat cnd are loc o
eroare
n Sintaxa:
error_function(error_level,error_message,
error_file,error_line,error_context)
n Primii 2 parametri obligatorii
n Ultimii 3 opionali
87
Descriere
E_WARNING
E_NOTICE
256
E_USER_ERROR
512
E_USER_WARNING
1024
E_USER_NOTICE
...
4096
E_RECOVERABLE_ERROR
...
8191
E_ALL
<?php
$test=2;
if ($test>1)
{
trigger_error("Value must be 1 or below");
}
?>
92
94
95
PHP excepii
n Excepiile sunt folosite pentru a schimba
96
PHP excepii
n Ce se ntmpl cnd are loc o excepie?
n
n
97
PHP excepii
n Utilizare elementar a excepiilor
n Cnd este lansat o excepie codul ce
98
PHP excepii
<?php // exceptie lansata si neprinsa
function checkNum($number)
{
if($number>1) {
throw
new Exception(Valoare trebuie sa fie mai mica");
}
return true;
}
checkNum(2);
?>
99
PHP excepii
n try, throw i catch
n n blocul try se pune codul care poate lansa
excepii
n throw se folosete pentru a lansa excepia
n Blocul catch este locul unde se intercepteaz
excepia
100
PHP excepii
<?php
function checkNum($number) {
if($number>1) {
throw new Exception("Valoare trebuie sa fie mai mica ");
}
return true;
}
try {
checkNum(2);
echo Numarul e OK';
}
catch(Exception $e) {
echo 'Message: ' .$e->getMessage();
}
?>
101
PHP excepii
n Stabilirea unui manipulator de excepii la
<?php
function myException($exception) {
echo "<b>Exception:</b> " ,
$exception->getMessage();
}
set_exception_handler('myException');
throw
new Exception('Uncaught Exception occurred');
?>
102
PHP - filtrare
n Filtrele PHP sunt folosite pentru a valida
PHP - filtrare
n Filtrarea datelor de intrare reprezint una din
PHP - filtrare
n Funcii pentru filtrare:
n
n
n
n
PHP - filtrare
<?php
$int = 123;
if(!filter_var($int, FILTER_VALIDATE_INT)) {
echo("Integer is not valid");
}
else {
echo("Integer is valid");
}
?>
106
PHP - filtrare
n Exist dou tipuri de filtre:
n
Filtre de validare
n
n
n
PHP - filtrare
n Opiuni i indicatori (flag)
n
<?php
$var=300;
$int_options = array( "options"=>array ( "min_range"=>0,
"max_range"=>256 ) );
if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) { echo("Integer
is not valid");
}
else {
echo("Integer is valid");
}
?>
108
PHP - filtrare
n Validare datelor de intrare
<?php
if(!filter_has_var(INPUT_GET, "email")) {
echo("Input type does not exist");
} else {
if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) {
echo "E-Mail is not valid";
}else { echo "E-Mail is valid"; }
}
?>
109
PHP - filtrare
n Curarea datelor de intrare
<?php
if(!filter_has_var(INPUT_POST, "url")) {
echo("Input type does not exist");
} else {
$url = filter_input(INPUT_POST, "url", FILTER_SANITIZE_URL);
}
?>
110
PHP Quiz
1. Ce nseamn PHP?
a.
b.
c.
d.
PHP Quiz
2. Care sunt delimitatorii pentru scripturile
PHP?
a.
b.
c.
d.
<?php?>
<?php>...</?>
<&>...</&>
<script>...</script>
PHP Quiz
3. Cum scriei Hello World n PHP?
a.
b.
c.
PHP Quiz
4. Care este simbolul cu care ncep numele
a.
b.
c.
&
$
!
PHP Quiz
5. Cum se termin o instruciune PHP?
a.
b.
c.
d.
</php>
Linie nou
;
.
PHP Quiz
6. Sintaxa PHP seamn cel mai mult cu:
a.
b.
c.
JavaScript
VBScript
Perl i C
PHP Quiz
7. Cum se obin informaiile dintr-un formular
a.
b.
c.
Request.Form;
Request.QueryString;
$_GET[];
PHP Quiz
8. Cnd se folosete POST datele sunt afiate
a.
b.
Da
Nu
PHP Quiz
9. n PHP se pot folosi att ct i pentru a
delimita string-uri
a.
b.
Da
Nu
10
PHP Quiz
10. Fiierele incluse trebuie s aib extensia .inc
a.
b.
Da
Nu
11
PHP Quiz
11. Cum se include fiierul time.inc?
a.
b.
c.
d.
12
PHP Quiz
12. Cum se creeaz o funcie n PHP?
a.
b.
c.
create myFunction()
new_function myFunction()
function myFunction()
13
PHP Quiz
13. Cum se deschid pentru citire fiierul
time.txt?
a.
b.
c.
d.
fopen("time.txt","r");
open("time.txt");
fopen("time.txt","r+");
open("time.txt","read");
14
PHP Quiz
14. PHP permite trimiterea de email-uri direct
din scripturi?
a.
b.
Da
Nu
15
PHP Quiz
15. Cum se realizeaz conexiunea la o baz de
date MySQL?
a.
b.
c.
d.
connect_mysql("localhost");
dbopen("localhost");
mysql_connect("localhost");
mysql_open("localhost");
16
PHP Quiz
16. Cum se poate aduna 1 la valoarea variabilei
$count?
a.
b.
c.
d.
++count
count++;
$count =+1
$count++;
17
PHP Quiz
17. Cum se adaug un comentariu n PHP?
a.
b.
c.
d.
*\..\*
<!---->
<comment></comment>
/**/
18
PHP Quiz
18. PHP poate rula pe IIS de la MS?
a.
b.
Da
Nu
19
PHP Quiz
19. n PHP 5 suportul pentru MySQL este
a.
b.
Da
Nu
20
PHP Quiz
20. Care nume de variabil nu este valid?
a.
b.
c.
$my-Var
$my_Var
$myVar
21
Curs PHP-MySQL
Aplicaii web
n Browser Scripting
n JavaScript, HTML DOM, DHTML, VBScript, AJAX
n Server Scripting
n SQL, ASP, PHP, ADO
PHP-MySQL
n MySQL este cel mai popular sistem de baze
de date open-source
n Ce conine o baz de date?
LastName
FirstName
Address
City
Hansen
Ola
Timoteivn 10 Sandnes
Svendson
Tove
Borgvn 23
Sandnes
Pettersen
Kari
Storgt 20
Stavanger
PHP-MySQL
n Interogri ntrebri pe care le adresm
bazei de date
n
PHP-MySQL - conectare
n nainte de a putea folosi baza de date trebuie
s ne conectm la ea cu funcia
mysql_connect()
n Sintaxa:
n
mysql_connect(servername,username,password);
Parametru
Descriere
servername
username
password
PHP-MySQL - conectare
n Exemplu:
<?php
$con =
mysql_connect("localhost","peter","abc123");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
?>
6
PHP-MySQL - deconectare
n La terminarea scriptului conexiunea este
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
// cod
mysql_close($con);
?>
7
tabele
n Sintaxa:
CREATE TABLE table_name
( column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....... )
10
11
Descriere
int(size)
smallint(size)
tinyint(size)
mediumint(size)
bigint(size)
Stocheaz ntregi.
Numrul maxim de cifre poate fi specificat
ca parametru
decimal(size,d)
double(size,d)
float(size,d)
12
varchar(size)
tinytext
text
blob
mediumtext
mediumblob
longtext
longblob
13
Descriere
date(yyyy-mm-dd)
datetime(yyyy-mm-dd hh:mm:ss)
timestamp(yyyymmddhhmmss)
time(hh:mm:ss)
Tipuri de date
Descriere
enum(value1,value2 etc)
set
mysql_query($sql, $con);
16
tabele
n Sintaxa:
n
17
date
n Formularul:
<html> <body>
<form action="insert.php" method="post">
Prenume: <input type="text" name=prenume" />
Nume: <input type="text" name=nume" />
Vrsta: <input type="text" name=varsta" />
<input type="submit" />
</form>
</body> </html>
19
PHP-MySQL SELECT
n Comanda SELECT se folosete pentru a
21
PHP-MySQL SELECT
<?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 persoana");
while($row = mysql_fetch_array($result)) {
echo $row[prenume'] . " " . $row[nume'];
echo "<br />";
}
mysql_close($con);
?>
22
PHP-MySQL SELECT
<?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 persoana");
//afisarea rezultatelor ntr-un tabel
echo "<table border='1'> <tr> <th>Prenume</th> <th>Nume</th> </tr>";
while($row = mysql_fetch_array($result)) {
echo "<tr>"; echo "<td>" . $row[prenume'] . "</td>";
echo "<td>" . $row[nume'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
23
LIKE
24
SELECT
n Sintaxa:
26
28
PHP-MySQL UPDATE
n Folosit pentru a modifica datele din tabele
n Sintaxa:
n
29
PHP-MySQL UPDATE
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
mysql_query("UPDATE persoana SET varsta = '36'
WHERE prenume= 'Peter' AND nume = 'Griffin'");
mysql_close($con);
?>
30
31
PHP - ODBC
n ODBC este un API care permite conexiunea
33
PHP - ODBC
n Funcia odbc_connect() se folosete pentru
34
PHP - ODBC
n Funcia odbc_fetch_row() folosit pentru a
obine o nregistrare
n
odbc_fetch_row($rs)
$cname=odbc_result($rs,1);
$cname=odbc_result($rs,"CompanyName");
while (odbc_fetch_row($rs)) {
$compname=
odbc_result($rs,"CompanyName");
$conname=
odbc_result($rs,"ContactName");
echo "<tr><td>$compname</td>";
echo "<td>$conname</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>
</body> </html>
36
Curs AJAX
Aplicaii web
n Browser Scripting
n JavaScript, HTML DOM, DHTML, VBScript, AJAX
n Server Scripting
n SQL, ASP, PHP, ADO
AJAX
n AJAX Asynchronous JavaScript And XML
n AJAX tip de programare popularizat de
AJAX
n Cerine: HTML/XHTML, JavaScript
n JavaScript-ul comunic direct cu serverul,
AJAX
n Aplicaiile web for fi mai mici, mai rapide i
mai prietenoase
n AJAX este o tehnologie browser
independent de softul de pe webserver
n AJAX este bazat pe:
n
n
n
n
JavaScript
XML
HTML
CSS
5
AJAX
n Standardele pe care se bazeaz sunt bine
AJAX
n Dezavantaje ale aplicaiilor web fa de cele
desktop:
n
prietenoas
n Pentru a folosi AJAX nu trebuie nvat nimic
nou se bazeaz pe standarde existente
AJAX
n Tradiional n JavaScript dac vrem s lum
formulare HTML
metodele GET sau POST.
se apas butonul Submit,
se ateapt s rspund serverul,
se ncarc o nou pagin
AJAX
n Datorit interaciunii cu serverul aplicaiile
AJAX
n XMLHttpRequest permite actualizarea paginii
10
AJAX
n username completata de user
n time completat de AJAX
<html> <body>
<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />
</form></body>
</html>
11
AJAX
n Crearea obiectului XMLHttpRequest
n IE folosete ActiveXObject
n Alte browsere XMLHttpRequest
12
13
Descriere
Request neiniializat
Request setat
Request trimis
Request finalizat
15
AJAX
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
// Scoate datele din raspunsul serverului
}
}
16
AJAX
n Proprieti
n
18
<?php
echo(date("G:i:s"));
?>
20
pagin web cu un server pe msur ce userul introduce introduce date ntr-un formular
n http://localhost/ajax/suggest.htm
21
22
23
24
26