Professional Documents
Culture Documents
Seminar Ajax PHP
Seminar Ajax PHP
PHP
Ni dung hi tho
Gii thiu v PHP
C php trong PHP
AJAX
Music website using PHP & AJAX
PHP
PHP l g ?
PHP c pht trin t ngn ng kch bn (script) vi mc ch
xy dng trang Web c nhn (Personal Home Page). Sau
c pht trin thnh mt ngn ng hon chnh v c a
chung trn ton th gii trong vic pht trin cc ng dng Web
based
PHP (PHP: Hypertext Perprocessor) l ngn ng kch bn lp
trnh pha my ch (server-side) ph bin nht th gii
PHP l g ?
PHP thng hot ng theo th t sau:
1. Ngi dng gi yu cu ln my ch
2. My ch x l yu cu (Thng dch m PHP v chy chng
M hnh hot ng
L do s dng
1. D dng s dng
Code php c nhng ngay trong code HTML. PHP code s c
nm trong mt cp th c bit iu ny gip trnh x l d dng
phn bit code php so vi code HTML.
<html>
<head>
<title>Example</title>
</head>
<body>
<?
L do s dng
2. Tc thc thi
Zdnet Statistics
L do s dng
3. Tnh kh chuyn
PHP c thit k chy trn nhiu nn tng khc nhau, c th
lm vic vi nhiu phn mm my ch, c s d liu (v d: bn
c th pht trin d n trn UNIX, sau chuyn sang NT m
khng gp phi bt c vn g)
Web Servers: Apache, Microsoft IIS, Caudium, Netscape
Enterprise Server
L do s dng
4. Gi thnh cnh tranh
PHP khng ch l phn mm m ngun m m cn thc s min
ph (k c khi bn s dng cho mc ch thng mi). Do l phn
mm m ngun m, cc li (bug) ca PHP c cng khai v
nhanh chng c sa cha bi nhiu chuyn gia do n cng
c min ph.
`
PHP
Software
Free
Platform
Free (Linux)
Development
Tools
Free
PHP Coder, jEdit
L do s dng
5. PHP c mt cng ng pht trin mnh
6. Thi gian pht trin d n nhanh
Do PHP c mt cng ng ln mnh nn rt nhiu cc ti liu
hng dn, nhng th vin code, thm ch nhng ng dng hon
thin u c cung cp min ph. Nn khi pht trin ng dng
s gim c rt nhiu thi gian.
`
Cc con s
1.
2.
S dng PHP
a.
b.
c.
ASP.NET.
3.
WordPress v Tagged.
Google trend
C php PHP
C php PHP
Tag style
Start Tag
End Tag
Standard
<?php
?>
Short
<?
?>
ASP
<%
%>
Script tags
<script
</script>
language=ph
p>
C php PHP
Bin trong PHP
Bin khng bt u bng s, khng c trng tn hm, phn
bit kiu ch
Khng cn khai bo trc
ly gi tr bin dng k hiu $ trc tn bin, bin c th b
p kiu
nh ngha hng dng define
vd: define(pi,3.14);
C php PHP
V d:
<?php
$var = Aiti";
$Var = Aptech";
echo "$var, $Var"; // outputs Aiti, //Aptech"
$4site = 'not yet'; //invalid
$_4site = 'not yet'; // valid;
$tyte = 'mansikka'; // valid; '' is //(Extended)
ASCII 228.
?>
C php PHP
Php ton
C php PHP
Kiu d liu
Scalar : Boolean, Integer, Float, String
Composite : Array, Object
Special Types : Resource, NULL
C php PHP
Khai bo mng
<?php
$ar = array(3,4,5,6,3,2);
echo var_dump($ar), "<br>";
$ar = array(5=>10, 20, 30, "q"=>40);
echo var_dump($ar), "<br>";
$ar = array(5=>10, 6=>20, 7=>30, "q"=>40);
echo var_dump($ar), "<br>";
$ar = array("a"=>10, 20, 30, 40);
echo var_dump($ar), "<br>";
?>
C php PHP
Cu lnh IF
<?php
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
if ($a
echo
} else
echo
}
> $b) {
"a is bigger than b";
{
"a is NOT bigger than b";
{
bigger than b";
== $b) {
equal to b";
smaller than b";
C php PHP
Cu lnh SWITCH
<?php
if ($i == 0) {
print "i equals 0";
} elseif ($i == 1) {
print "i equals 1";
} elseif ($i == 2) {
print "i equals 2";
}
switch ($i) {
case 0:
print "i equals 0";
break;
case 1:
print "i equals 1";
break;
case 2:
print "i equals 2";
break;
}
?>
C php PHP
Cu lnh WHILE .. DO
<?php
$i = 1;
while ($i <= 10) {
print $i++;
}
$i = 0;
do {
print $i;
} while ($i > 0);
$i = 1;
while ($i <= 10):
print $i;
$i++;
endwhile;
?>
C php PHP
Cu lnh FOR
<?php
echo "--------------------\n";
for ($i = 1; $i <= 10; $i++) {
print "$i\n";
}
echo "--------------------\n";
for ($i = 1; ; $i++) {
if ($i > 10) break;
print "$i\n";
}
echo "--------------------\n";
$i = 1;
for (;;) {
if ($i > 10)break;
print "$i\n";
$i++;
}
echo "--------------------\n";
for ($i = 1; $i <= 10;
print "$i\n", $i++);
echo "--------------------\n";
for ($i = 1; $i<=20; $i++):
print "$i\n";
endfor
?>
C php PHP
Khi bo hm
<?php
function square ($num) {
return $num * $num;
}
echo square (4);
// outputs '16'.
function small_numbers() {
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>
Kt ni CSDL
Kt ni CSDL
if(!($conn =@mysql_connect("localhost","root","root")))
{
die("Could Not Connect");
}
mysql_select_db("music", $conn);
//PERFORM QUERY
$sql = "SELECT * FROM tblX;
$result = mysql_query($sql,$conn);
Ci t PHP
MySQL http://mysql.com/
Cc b ci t tch hp
APPSERVER http://www.appservnetwork.com/
EASYPHP http://www.easyphp.org/index.php
XAMPP http://apachefriends.org/
WAMP http://www.wampserver.com/en/
Ajax
Ajax I
1. Gii thiu Ajax
2. Kin trc Ajax
3. Ba bc lp trnh vi Ajax
4. Demo v d Ajax & PHP
AJAX
1. Gii thiu Ajax
ng dng Desktop
Click-wait-refresh-Click-wait-refesh
ng dng RPC/RMI
Phc tp, nng n trong x l
nh hng bi Network Latency
AJAX
1. Gii thiu Ajax
ng dng Rich Internet Application
Truy cp bt ng b
a dng trong tng tc
C th to cc ng dng phc tp
Gim ti cho server
AJAX
1. Gii thiu Ajax
Ajax l g ?
o Tn ca th mt nc ?
o Tn ca mt i bng ?
o Ajax l tn ca mt cng ngh ?
AJAX
AJAX = Asynchronous JavaScript And XML : thut ng c
a ra bi Jesse James Garret nm 2005 trong bi vit c tn
AJAX : A New Approach to Web Application [1]
Ajax
AJAX
AJAX phi c vit chnh xc l Ajax
AJAX : acronym (t vit tt cc ch ci u)
Ajax : tn ca mt t hp cng ngh, trong nhn mnh
A = Asynchronous Tnh bt i xng
Ajax
Ajax khng phi l mt ngn ng hay mt cng ngh
Ajax l t hp cc cng ngh gip ng dng Web gn vi
Desktop bng cch loi b s Refresh ca trang web. T hp
gm :
XHTML + CSS : trnh din ni dung
Ajax
u im ca Ajax
Data-driven : gim ti cho server do ch cn chuyn data
Click v Wait nhng khng refresh ging Desktop
Tc response nhanh hn
Ngi dng tip tc lm cc thao tc khc khi i
L cng ngh ca Browser, c lp vi Web Server
JUST-IN-TIME
Ajax
Ajax Job trend
Ajax
Kin trc Ajax
Ajax
Kin trc Ajax
Classic web app
Ajax app
Ajax
Ni dung gi qua ng dng web thng thng
Ajax
Ni dung gi qua ng dng web bng Ajax
Ajax
Traffic tch ly
Ajax
Ajax
Ajax
Ti sao Ajax v PHP?
Javascript v PHP c nhiu im chung.
PHP l nn tng m ngy cng m rng v ph bin
H tr bi cng ng ln (m ngun, ti nguyn,)
Nh nhng (lightweight) v tc (speed) trong x l.
Hot ng c lp, d trin khai trn mi h thng (OS)
H tr nhiu kt ni, thao tc vi nh dng d liu.
Ajax
Ba bc to mt ng dng
Ajax n gin
Ajax
Ba bc to mt ng dng Ajax n gin
Ajax
Bc 1: Trigger s kin (JAVASCRIPT EVENT)
S kin trong Javascript
onClick
onChange
onError
onBlur
onFocus
onUnload
onSubmit
onMouseUp
onResize
onMouseDown
onMouseOver
onSelect
onMouseOut
onMouseMove
onMove
onKeyDown
onKeyUp
onLoad
onKeyPress
onReset
onAbort
Ajax
M hnh ng k s kin
//xac dinh HTML element
var element = document.getElementById(element_id);
//dang ky ham dieu khien su kien
element.onclick = executeAjaxSearch;
//dinh nghia ham dieu khien su kien
function executeAjaxSearch(e)
{
//tao connection
Ajax
Bc 2: Thao tc vi Ajax (CLIENT-SERVER)
2.1.
2.2.
2.3.
2.4.
Ajax
2.1. Khi to i tng Request
Vi IE6: s dng Msxml2.XMLHTTP:
XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
Vi IE5.6: s dng Microsoft.XMLHTTP
XMLHttp=new XMLHttpRequest();
Ajax
M khi to tng qut
function GetXmlHttpObject {
try {
catch(e) {
try {
//Tao XHR cho IE6
}
catch(e1) {
return XHR
}
Ajax
Cc phng thc ca XMLHttpRequest
Methods
open(method,url,
asynchFlag,urs,pass)
send(content)
abort()
Dng request
getAllResponseHeaders()
setRequestHeader(header, Gn gi tr header c th
value)
Ajax
Cc thuc tnh ca XMLHttpRequest
Properties
onreadystatechange
Ch nh hm callback
readyState
Trng thi Request : 0-Khi to, 1ang ti, 2- ti, 3-Tng tc, 4Hon tt
responseText
responseXML
status
statusText
Ajax
Chi tit v cc trng thi
readyState=0: Cha khi to: sau khi to i tng
Ajax
2.2. Vit hm callback
Callback function: l hm javascript c gi khi thuc
tnh readystate thay i trn i tng XHR
Ajax
2.3. Gi Request ln Server
Ly i tng XHTTPRequest
var xhrObj = GetXmlHttpObject();
xhrObj.onreadystatechange = cbHandleAjaxResponse
Ajax
Chn Method gi Request
Method = GET nu
Mc ch nhn d liu t server
REST (Representational State Transfer) webservices
Khi passing parameters
Method =
POST nu
Ajax
2.4. Nhn v parse d liu tr v
function cbHandleAjaxResponse {
if(response is valid) {
//get responseText or resonseXML
//processing data
//get area that need updating
//stuff value to area
}
}
Ajax
Bc 3: Cp nhp DOM
Trnh duyt hin th giao din nh mt tp cc elements
Mt trang web c dng cy vi quan h cha-con
Cy elements c gi l Document Object Model
Ajax
Mt v d v DOM
Ajax
S dng DOM
Tng tc vi DOM nh Javascript
Tm DOM elements : document.getElementById(),
parentNode, childNodes
createElement(),
createTextNode(), insertBefore()
Ajax
V d s dng DOM
<div id="seminar">
<div id="ajax">Hello Ajax</div>
</div>
<script language="javascript">
var divAjax = document.getElementById("ajax");
var divSeminar =
document.getElementById("seminar");
var divPHP = document.createElement("div");
divPHP.setAttribute("id","php");
divPHP.innerHTML = "Hello PHP";
divSeminar.insertBefore(divPHP,divAjax);
</script>
Ajax
Mt s lu
Tch style, m javascript ra khi ni dung HTML d
truy xut v bo tr hn
Ajax II
5. nh dng d liu JSON v XML
6. Xy dng Widget n gin cho Web vi Ajax
7. Ajax Toolkits
8. Vn v thch thc vi ng dng Ajax
9. Gii thiu cc ti nguyn, tham kho.
Ajax
5. nh dng d liu XML
XML l g ?
Ajax
5. nh dng d liu XML
Ajax
5. nh dng d liu XML
<?xml version="1.0" encoding=" utf-8"?>
<bookList>
<book isbn=123">
<publisher>Manning</publisher>
</book> <book isbn=456">
Ajax
5. nh dng d liu XML
Ajax
5. nh dng d liu JSON
Ajax
5. nh dng d liu JSON
var people =
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin"},
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
Ajax
5. nh dng d liu JSON
www.netvibes.com
Ajax
6. Ajax, Widget, v Webservices
Ajax
6. Ajax, Widget, v Webservices
Ajax
6. Ajax, Widget, v Webservices
Weather Widget
http://demos.openrico.org/weather_demo
Web server
Services
XHR
The
Weather
Channel
Ajax
6. Ajax, Widget, v Webservices
Weather.com cung cp dch v thi tit
thng qua mt url bao gm parner_key
v license_key
http://xoap.weather.com/weather/local/30
339?cc=*&dayf=5&link=xoap&prod=xoap&
par=[PARTNER_KEY]&key=[LICENSE_KEY]
Services
Web server
XHR
The
Weather
Channel
Ajax
6. Ajax, Widget, v Webservices
Weather.com response
c nh dng XML
hoc JSON
Web server
Services
The
Weather
Channel
Ajax
6. Ajax, Widget, v Webservices
Ajax
7. Ajax Toolkits
Ajax
7. Ajax Toolkits
YUI Library
Ajax
7. Ajax Toolkits
u im ca cc th vin Ajax
Ajax
7. Ajax Toolkits
Ajax
7. Ajax Toolkits
Prototype Library
$(id_of_element) document.getElementById()
Ajax
7. Ajax Toolkits
X l Ajax Request/Response n gin
function createRequest(url) {
var xhr = new Ajax.Request(url,{
method:'get',
onComplete: showResponse });
}
function showResponse(xhr) {
$(div).innerHTML = xhr.responseText;
}
Ajax
7. Ajax Toolkits
X l Ajax Request/Response n gin
function createRequest(url) {
var xhr = new Ajax.Request(url,{
method:'get',
onComplete: showResponse });
}
function showResponse(xhr) {
$(div).innerHTML = xhr.responseText;
}
<script src=prototype.js></script>
<script language="javascript">
7. Ajax Toolkits
Event.observe(window, 'load', init, false);
function init() {
Event.observe('btnButton', 'click', makeRequest, false);
}
function makeRequest(){
var xhr = new Ajax.Request("hellop.php",{
method:'get',
onComplete: showResponse,
parameters: {name:$F('txtName')}
});
}
function showResponse(xhr){
$('content').innerHTML = xhr.responseText;
}
</script>
</head>
<body>
<input type="text" id="txtName" />
<input type="button" id="btnButton" value="Send" />
<div id="content"></div>
Ajax
7. Ajax Toolkits
T ng update ni dung
new Ajax.Updater('products', '/some_url', {
method: 'get',
insertion: Insertion.Top
});
new Ajax.PeriodicalUpdater('products',
'/some_url', {
method: 'get',
insertion: Insertion.Top,
frequency: 1,
decay: 2 });
Ajax
8. Vn v thch thc vi ng dng Ajax
Ti u ha Engine tm kim kh
Ajax
8. Gii thiu cc ti nguyn tham kho
Sch Ajax
Lin kt Web
http://developer.yahoo.com/
http://code.google.com/apis/ajax/
http://ajaxpatterns.org/
(Apress)
http://www.ajaxmatters.com/
Lin kt Web
www.ajaxian.com
http://prototypejs.org
http://www.ajaxlessons.com/
http://jquery.com
http://ajax.phpmagazine.net/
http://ajaxworld.com/
Ni dung hi tho:
http://aptechvn.wordpress.com/
Hi p !