Kh6a luQn ti* nghiQp: Website Quan Ly Diem cila Sinh ViOn o trudng dqi hqc
LOI CAM ON DAu ti6n t6i xin chdn thdnh gui loi cim crn d6n Ban gi6m hiQu trucrng D4i Hgc quf thAy c6 dd t4n tinh d4y b6o, truyAn dat ki{fn thric, ctng nhu kinh nghiQm D6, Tdy quf b6u cho t6i su6t thoi gian hgc tap tpi trucrng.
T6i xin giri ldi c6m on thAy Nguy6n Chi Cudng, thAy cta t4n tinh hucmg d6n, girip dd t6i trong su6t thdi gian thgc hipn luQn v6n. TOi cfing chdn thdnh c6m crn thiy -O irong Kho.a K! Thuat - C6ng NghQ di tao mgi di6u kiQn thupn lqi nh6t AC tOi c6 thiS hodn thdnh tdt 1u4n v[n tdt nghiQp. T6i xin gui loi c6m crn sdu sic d6n gia dinh, cha mg, nguoi thdn, nhirng nguoi d5 nudi d4y, ttQng vi6n vd ring hQ t6i tltin ngdy hdm nay.
Xin c6m on t6t ci anh chf, bpn bd de nhiQt tinh chia s6 kinh nghiQm, ki6n thuc, girip tld t6i trong su6t nhimg n[m hgc t4i truong.
TAI......... QUYET 1.4.1 V6 lf thuyrit l.4.2Vethuc hinh cHuoNG 2: Co So Lv THUYET 2.1 HE QUAN rRI CO SO DULIEU MySQL... 2.1.1 Gi6i thieu........ 2.l.2tJuditim vd nhucvc cli6m 2.2 ToNG QUAN VE pHp.. 2.2.1Dinh nghia 2.2.2 Cnph6p vd mQt s6 phucrng thric ccy bAn trong PHP........ cHuoNG 3: NQr DUNG VA KET QUA NGHTEN Cr.fu
3.1 KET QUA ErEU TRA THU THAP rHoNG TrN ......... 3.2 GrurpnAp pHAN ricu vA THIEr KE cAC tr,tO ttiNu ....... 30 3.2.1 MO hinh thsc ttr€ t............... 30 3.2.2M0 hinh lufn l), (MLD). .........31 3.2.3 Cbcrdng buQc tham chi6u .......31 3.2.4Tn di6n dt li€u.......... ...............33 3.2.5 Lutd6 ........... ..........37 3.3 CAC KET QUA DAT DUQC ...................41 dung vi6n 3.3.3 Trang giing vi6n......... 3 .3 .4 Trang sinh vi6n ..... .. KET LUAN VA Op NCUI I.KET LUAN t.t f6t qui d4t dusc l.2Hqn chi5........... PHU LUC TAr LrPU THAM KHAO 3.3.1 Trang ngudi 3.3.2Trang qu6n trf
Y nshia Personal Home Page Co So Dfr LiOu Structured Ouery Language Model Conceptual Data Model Losical Data HwerText Markup Language Active Server Pages Internet Protocol
a
a
GVHD: ThS.Nguydn Chi
Cuong
8
SWH:Chdu Kim Hiln
Khoa luQn t6t nghiQp: Website Quan L!,Diem cila Sinh ViAn o ftudng dgi hOc
TOM TAT
O cilctrudng d4i hgc, b6n c4nh viQc gi6ng day thi quAn lf dii5m sinh vi6n ld mOt ^ rdt c6ng viQc ^. quan trgng. NOu quin ljz bAng tay, viQc ndy doi hoi r6t nhi6u gi6y mgc, thoi gian vd c6ng sric. ViQc luu trft di6m vd tim ki6m cfing rdt kh6 khdn.
a
Chinh vi v6y, AC tai "Qudn Lj, DiAm fiwdng dgi hgc" dugc dua ra nhim mqc dich tpo ra m6t chuong trinh co th6 thay th6 con ngudi ldm nhfrng viQc ndy. Chucrng trinh sE giirp gi6m thi6u t6i da cdng vi6c cria ngudi qudn lf vi t[ng dQ chinh xhc cba viQc tinh toan aiti-, girip ngucri dung d6 dang tra cuu, th6ng k6, so s6nh vd in 5n c6c
dfr liQu khi cAn. ViQc quAn lli nhu v4y cfrng thC hien sy chuy6n nghiQp h6a trong c6ng t6c qudn lif cua trucrng. Chucmg trinh sE dugc vi6t tr6n ngdn ngt PHP vd hQ co sd dir liQu MySQL.
TU KHOA
-
Dai hgc
-
Di6m
-
Sinh vi6n
Gi6ng vi€n
Mdn hgc Lcrp
GVHD: ThS.Nguydn Chi Cudng
SWH:Chdu Kim Hun
Kh6a luQn t6t nghiQp: Website Qudn L!,Diem cila Sinh ViAn d ffrdng dqi hpc
ABSTRACT In the university, beside the teaching, the mark management of students is a very important work. If that manage manually, it will require a lot of paper, ink, time and effort. The storage and search marks will be extremely difficult.
Therefore, the topic "Universiqt Mark Management" was given the purpose of creating a program that can replace people to do these things. The program will help minimize the work of the managers and increase the accuracy of the mark calculation, help users easily search, statistics, comparison and printing in case of need. That management also demonstrates the professionalism in the management of the school. The program will be written in PHP language and MySQL managerment system.
KEYWORDS University Mark Student Teacher
Subject Class 5
GVHD: ThS.Nguydn Chi Cudng
10
SWH:Chdu Kim Hun
CHUONG 1: TONG QUAN
1.1. Dar VAN on Ngdy nay c6ng nghQ th6ng tin ld mQt ngdnh c6 tAm quan trong trong qu5 trinh ph6t tri6n n6n kinh te dit nudc, trong d6 viec str dpng Internet ld mQt nhu ciu kh6ng th6 thieu trong x6 hQi hiQn nay. Internet li cric dlch vp cung c6p th6ng tin cin thi6t nh6t trong cuQc s6ng hiQn nay, girip ta c6 thi5 trao d6i th6ng tin mQt c6ch nhanh ch6ng, c6 th6 mua b6n tr6n m4ng mQt c6ch tiQn lgi, ta c6 th6 tham kh6o di thim mQt s6 noi danh lam thing cinh mi ta chi cAn ng6i t4i nhd cfing bii5t duqc tinh hinh noi d6, ta cflng c6 th6 xdy dpg Web tr6n Internet d,5 quAn I1i danh s6ch cria m6t cquan, mQt truong hqc ndo d6 ho[c x6y d1mg web b6n vd quing c6o cdc m[t hing . Web ld mQt giao di0n cira Internet vdi nguoi ding, chi chira c6c chi mgc hay c6c 1i6n k6t. Web dugc x6y dpg dya tr6n nAn ting ctia HTML vd mQt sd ng6n ngt lap trinh kh6c nhau nhu: ASP, PHP. Hi€n nay viQc quin li, citc c6ng ty, trucrng hgc hay cdc mf;t hdng kh6ng cdn phii bing nhirng s6 s6ch luu trft vi m6t nhitiu thoi gian dti nhpp vd chinh sira khi dt liQu thay c16i nta. Md ngudi ta c6 thr5 sri dr,rng c6c img dung c'ia c6c ngg, ngt dC xdy dpg trang web gi6i thiQu, qu6n l;i, quing c6o. DAy cflng ld l1i do tOt 0e chqn dC tdi "xffy dqng website quf,n lf tli6m cria sinh vi6n O trulng il4i hgc" sir dUng ngdn ngt 16p trinh PHP vi hQ quAn trf cd sd dt liQu MySQL 5.0.
1,.2. LICH SrI CrAr QUYET VAN Or DE co nhi0u website qu6n l1f di6m dugc vi6t ra ct6 phpc vu cho viQc qu6n ly cli6m b cdc trucmg d4i hoc nhrmg chua linh ho4t trong vi6c quin lf diem vd nhQp, xu6t d[ liQu. Van cl6 t6n t4i ld ldm sao xdy d1mg clugc mQt website c6 th6 quin llf ctGm t6t dC ung dung vdo thgc ti5 vi vAn c16 lcrn nhet ctra c6c website qu6n lf diCm ta tai ngudi dung khi d[ng ky hgc. Oe nric phuc duoc v6n dO tr6n ngudi qu6n tri sE quy dinh gio cho timg lorp vdo cti5 dang kf hgc. Ngodi ra, c6 th6 th6ng kC luqt truy cflp th6ng q,lu dlu chi IP n6u vugt qu6 sd lugt truy cap quy dfnh sE th6ng b6o cho nguoi-dung UiCt n sO tugt truy cap ctd t6i da vd ngudi dung vui ldng truy c4p vdo thoi gian kh6c.
1.3.
PHAM Vr DE TAr
Oe tal nhim xdy dpg dugc mQt website c6 khi ndng quin l1i tli6m cria todn bQ sinh vi6n o mQt trudng d4i hgc. Website nhim mUc ctich girip Ban gi6m hiQu, gi6ng vi6n c6 m6t ciii nhin kh6i qu6t vC tinh hinh hgc t4p cua ttmg sinh vi0ndOi vOi m6i mQi m6n hoc, cflng nhu ld mQt c6ng cp girip Ban gi6m hiQu d6nh gi6 mQt c6ch l1f tinh th6ng qua c6c ktit qui th6ng kC kha n[ng gi6ng day cria t&ng giang vi6n ctimg lorp.
GVHD: ThS.Nguydn Chi Crcng
11
SWH:Chau Kim Hun
Kh6a luqn t1t nghiQp: lTebsite Qudn Li, Diem cila Sinh ViAn o ffudng dqi h7c
C6c chric nlng chinh cria website:
-
QuAn khoa.
lf
sinh viOn, giing vi6n, quin
lf
diiSm theo lop hgc, m6n hgc vd theo niOn
-
Cho ph6p gi6ng vi0n tryc tii5p nhflp dii5m.
-
Circbdo c6o, th6ng k€ cin thi0t.
-
Tin tuc
Th6ng kC tinh hinh hgc t4p, tinh hinh gi6ng d4y.
Tim kitSm c6c thdng tin cAn thi6t.
vC th6ng b6o cira trudmg,
lich thi cira c6c lcrp.
H5 trq tryc tuyi5n ddnh cho sinh vi6n vd gi6ng vi6n Phdn quyiin trong c6c thao t5c cua ngudi dung li6n quan cti5n CSDL chung.
1.4.
HTIoNG GrAr QUYEr
1.4.1. VO ty thuyiit
-
Thu thdp th6ng tin, quan s6t thgc ti5 mQt sti truong d4i hgc.
-
Tim hi6u c6c website qu6n
,.;.
lf
cti€m d5 c6.
1.4.2. Vdittnpc hirnh
-
Vi6t website quin
lf
cti6m tr6n ng6n
ngt
10p
trinh PHP.
Co so dir liQu MySQL 5.0.
GVHD: ThS.Nguydn Chi
Cudng
12
SWH:Chdu Kim Hun
Kh6a tuqn t6t nghiQp: Website Quan Ly DiAm cua Sinh Vi€n o trudng dqi hoc
CHIIOI{G 2: CO SO Lf THUYET
2.1.
HE QUAN
rRI
CO SO DU LrEU MYSQL
2.1.1. Gi6ri thiQu MySQL ld hQ quin trf co so dt liQu md ngudn m0 miSn phi, dugc tich hqp sir dung chung vdi apache, PHP.
.
MySQL ld mQt phAn mOm quin tr1 co sd ducrng v6i SQL seryer cfra Microsoft).
dt lieu d4ng server-based (gAn tucrng
MySQL quAn lf dt tiQu th6ng qua c6c co sd dt liQu, m6i ccr so dt liQu c6 th6 c6 nhi6u bing quan he chua dt lieu. MySQL c6 co chti ph6n q.rydn ngudi su dpng ri6ng, m5i ngudi dung c6 th6 dugc quin lf mQt hay nhidu co s& dt liQu kh6c nhau, m6i ngudi dung co mQt t6n truy c4p vi m4t khAu tucrng ung dC truy xu6t dtin co so
dt
liQu.
Khi ta truy vAn tdi co so dt liqu MySQL, ta ph6i cung c6p t€n truy c4p vd m$t khAu cua
tii
2.1.2.
khodn co quy6n su dgng co s0
tlu tli6m vir nhuqc tli0m
dt
liQu i16.
cira MySQL
z.l.z.l.Ifu ili0m
. -*
MySQL ld mQt hC quin tri nh6, b6o mpt vd rht d6 st dung, thuong dugc su dpng cho c6c img dpng nh6 vd trung binh. N6 dugc sir dpng cho c6c img dpng clienVserver v6i m6y cht m4nh nhu UNIX, Windows vd d[c biQt trdn m6y chu UNIX. MySQL h6 trq c6c ditim vio ANSI SQL 92 vd ODBC mhc 0-2 SQL chuAn. MySQL h5 trq nhiAu ng6n ngfi cho viQc b6o t6i. NgOn ngfi dusc h6 trq m[c dinh cho
dt
1i6u
li
ISO-8859-1.
Ng6n ngt 10p trinh sir dung vi6t c6c hdm API Oti tnam nh4p co so dt 1i6u MySQL c6 th6 ld C, Perl, PHP. C6c bing trong co sd dfi liQu MySQL c6 kich thu6c r6t lcrn vd dugc luu o thu mgc Datas. Kich thudc 16n nh6t ctra mQt bing tOi ttri6u ld 4GB vd kich thu6c lcm nh6t cua mQt
file do hQ di6u hdnh quy dfnh.
Co s& dfi liQu MySQL rAt dC quin v6i c6c hQ quin trf co so dt liQu kh6c.
lf
vd c6 t6c
t10
xir
lf
cao hcrn tdi ba btin lAn so
MySQL ld hQ mQt hQ quin trf co so dft liQu m6 hinh quan hQ, n6 c6 mi ngu6n md. N6 duoc cung c6p mi6n phi tr€n cbc mdy chir LINIX, OS vd c6 tr6n Windows.
GVHD: ThS.Nguydn Ch{
Cuong
13
SWH:Chdu Kim Hiln
Khoa ludn t6t nghiQp: Website Qudn Li,Diem cila Sinh ViAn o ffudng dqi hpc
2.l.z.2.Nhugc tli6m MySQL kh6ng cho ph6p thgc hiQn c6c cAu lenh SQL truy v6n con.
Vi dp: SELECT emp x WHERE sal > (SELECT AVG(sal) FROM emp WHERE x.deptno
:
deptno)
ORDER BY deptno
MySQL kh6ng h6 trq Stored Procedures, Triggers, Transactions nhu c6c scr dir lipu kh6c.
hQ quAn
tri
ccr
2.2. ToNG QUAN VE PHP 2.2.1. Dinh nghia PHP dugc vi6t tit boi cpm tri Personal Home Page ra cloi ndm lgg4, do mQt nhd phat minh mang t6n Rasmus Lerdorf, vd n6 {oq. ph6t tritin.bcri nhii)u c6 nhdn vd t4p
th6 kh6c, do clo PHP tlugc xem nhu ld s6n phAm cria mi ngudn mo.
PHP ld kich bin trinh chri (server script) ch4y tr€n phia server (server side) nhu c6c server script kh6c (asp, jsp, cold fusion).
h kich bin
cho ph6p chirng ta xdy dtmg img dqng web tr6n mAng internet hay intranet tucmg tdc voi m6t co so dfr 1i6u nhu: mySQL, postgreSQl, Oracle, SQL server vd Access . PHP
Tu phi6n b6n 4.0 tr0 di duoc h5 trq session, ngodi ra PHP cflng nhu Perl ld kich b6n xy lf.chu6i r6t m4nh chinh vi vpy chring ta c6 th6 su dung PHP trong nhirng c6 y6u c6u vO xu lf chu6i.
2.2.2. Cri ph6p
2.2.2.l.Khii
vi mQt s6 phuong
niQm vd crfl
thrfrc co bfln trong PHP
phip PHP
Trang PHP cfrng chinh ld I trang HTML co nhring m6 PHP cy bOn trong vi c6 mcr rQng ld .php. Phdn m6 PHP tlugc d[t trong th6 mo <?php vd th6 d6ng >. Khi
trinh duyQt truy cfp vdo 1 trang PHP, server sE dgc nQi dung file PHP 16n, loc ra c6c do4n md PHP, thgc thi c6c do4n md d6, ley k€t qu6 xu6t ra cira c6c do4n m5 PHP thay th6 vdo ch5 ban dAu cria chirng fong file PHP, cu6i cung server tr6 v0 k6t qua cu6i cung ld I trang n6i dung HTML vC cho trinh duyQt.
. ph6n
GVHD: ThS.Nguydn Chi Curdng
14
SWH:Chdu Kim Hiln
OC
hp trinh bing ng6n ngt PHP cin chri Cu6i cdu l0nh c6 dAu
f
nhirng di6m sau:
;
Bi6n trong PHP co ti6n tO ld $.
:
-
M6i phucrng thric ddu Uat AAu { vd d6ng bing dau }. Khi khai b6o bi6n thi kh6ng c6 kiiSu dfi lieu.
n
-
N€n ghn gi|tri khdi dAu cho bi6n khai b6o.
Phii c6 ghi chri (comment) cho m5i chr?c ning m6i.
St dsng dhu llde giai thich cho m6i cdu ghi chri. Khai b6o bitin c6 phAn biQt cht hoa cht thucrng. 2.2.2.2. ThG cfia PHP C6 4 loai th6 kh6c nhau trong PHP ta c6 thiS sir dgng khi thitit kti trang PHP:
+ Kii5u short: Ddy ld th6 mflc dinh md c6c nhd lap trinh PHP thuong su dpng cho trang PHP c6 th6 thgc thi 1o4i th6 niy Echo " welcome to php"
clti
;?)
+ Ki6u dinh dang XML: Th6 ndy c6 thi5 sir dpng vdi vln bin dinh d4ng XML, n6u ta l4p trinh PHP c6 f clinh sri dsng vdi XML website, ta cAn phii khai b6o th6 PHP rong trang PHP nhu sau:
<? Php eclto " welcome to php with xml";?>
:' pllp')
Echo "php Script "; </script>
+ Ki6u ASP: trong truong hgrp ta khai b6o the PHP nhu mQt phAn trong trang Asp, th6 ndy dugc sir dung khi ta cho ph6p chring bing crlch cAu hinh (asp_tags) trong tfp tin config, cri ph6p the nhu: <% echo "php script"; o%>
GVHD: ThS.Nguy€n Chi
Cudng
l5
SWH:Chdu Kim Hun
Khoa ludn tOt nghiQp: Website Quan L!, Diem cila Sinh ViAn 6 ffrdng itqi hgc
Ki6u integer mang citc gi|trt s6 nguy6n ..., -2, -1, 0, 1,2, ...TrAn hAu hi5t c6c hC th6ng, ki6u s6 nguyen co kich thudc 3zbit,mang gi6 tri
I
fi
-2147483647 cho d0n2147483648.
Ki0u Float (Double)
Kitlu float (ho[c double) ld ki6u hiu h6t
sO
thgc, c6 th6 mang b6t cri gi6
c6c he th6ng, ki6u sO thuc c6 kich
fi
sO
ttrUc niro. TrOn
thudc 64bit
& Ki6u String
:
-
Kii5u string luu
git 1 chu6i ky t.o, mOi t<1i lu c6 kich thu6c I byte. NQi dung string
dugc dAt giira 2 diunh6y, nh6y dcrn (') hoflc nh6y k6p ("). Khi sir dung d6u nh6y d6i bgc chu5i, ngodi \',
\"
dC
vd \\, PHP c6 thiS nhpn d4ng th6m mQt sO chuSi ky t.u escape dflc
biet.
.i Ki6u Array --. Ki6u mAng ld mQt ming A
sO liQu
do ngudi dung dinh nghia, chring c6 cri ph6p nhu
sau:
// mdng bao gim cdc ki€u chudi Hay c6 th€ khai bdo nhu sau
,
$myarrs[
] :anay (j)
$myarrs[)J:" array 0" $myarrs
IlJ:"array l"
$myarr[2J
Tht
:"array 2"
t.u index
trong ming bat tlAu fi
GVHD: ThS.Nguydn Ch{
Cwong
vitri
0.
16
SVTH:Chdu Kim Hiln
Khda luQn t6t nghiQp: Website Qudn L!,Diem cila Sinh ViAn o mrong dqi hqc
{. Ki6u Object 1 1 a ,r' 1 b6n thO (instance) cira 1 lop (class). NCU khai b6o Ki€u object (d6i tuqng) luu git c16i tuqng ta dirng ki6u class nhu trong C hay Java, ngodi ra phuong thuc trong PHP dugc Uitit Oen nhu t hdm ( tu khoa function). --.A
!
N6u hdm c6 t€n trung vdi t6n cua class thi hdm d6 ilugc ggi li constructor. Ching h4n chirng ta khai b6o class vi khoi t4o chring thi t.u ttQng m6i ttri constructor dugc ggi khi d6i tuqng kh&i t4o, sau do ggi hdm trong class.
*
Ki6u Resource
Ki6u resource (tdi nguy6n) dugc su dgng boi c6c him d[c biQt cta PHP (vi d9 hdm mysql-connect sE tri vA ki6u resource).
*
Ki6u NULL
Ddy td
I
giit
tri dac biQt, b6o cho PHP bii5t ring
I bii5n nho do chua hoflc kh6ng
mang gi6 trf niro c6.
2.2.2.4. Khai b6o bi6n MQt bii5n trong PHP dugc Uit OAu bing ky t.u $ vd di theo ngay sau d6 ld t6n cta t'A
Dlen.
Vidu: $a:
biiSn c6 t6n ld a
$abcl23: bitSn co t6n ld abcl23
Bi6n trong PHP phdn biet chir hoa vd chir thudng. Tric $Abc vd $abc ld biOn
oin toirn kh6c nhau.
'
cht cii (a..zhodc A...2), chir sO 10...e; "a iC, UiCn kfrOng dugc Uat AAu bing kf t.u gach du6i ho[c
TCn bitin chi dugc bao g6m c6c
ky t.u g4ch du6i ( A
cnu so.
nhrmg
- );
kli
t.u
C6c t6n bi6n sau ld kh6ng hqp lQ!
-
$_abc Kh6ng hqrp lQ! Uit AAu bing ky tu g4ch du6i
$labc Kh6ng
Uit
AAu
bing chfi
$nguy6n Kh6ng hep lQ! t6n bi6n c6
t ,
hqrp lQ!
MOt sii Ui6n
tli
s6
kf t.u dac biet (e)
tlugc tgo sin
-
ARGV: Ming tham s6 tmy6n cho script. Khi do4n script ch4y bing ddng lQnh, tham s6 nAy sE dugc ding gi6ng nhu C dti truy nh6p c5c tham 16 tr6r, ddng lQnh.
-
ARGC: s5 c6c tham
sO
dgoc truydn. Dung v6i ARGV;
-
PHP-SELF : t6n ctra do4n md script dang thgc hi6n. N6u PHP dang dugc ch4y tu ddng l6nh thi tham sO ndy kh6ng c6 gi6 tri. GVHD: ThS.Nguydn Chi
Cudng
t7
SWH:Chdu Kim Htin
Khda luQn t6t nghiQp: Website Qudn L!,Eiem cila Sinh ViOn o trrdng dgi hpc
-
HTTP_COOKIE_VARS: mQt ming citc gti tri dugc truy0n t6i script hien tai bing HTTP cookie. Chi c6 t6c dung n6u "track_vars" trong cAu hinh tlugc d6t hoac chi d5n
<?php_track_vars?>
: -'
-
HTTP_GET_VARS: Mdng cic giittrf truy6n t6i script th6ng qua phuong thirc HTTP GET. Chi c6 t6c dgng n6u "track_vars" trong c6u hinh dugc dflt holc chi d6n <?php_track_vars?>
-
HTTP_POST_VARS: tucrng t1r nhu HTTP-POST-VARS cho ph6p tri lAy tu c6c the nh{p liQu cta the form trong trang submit tru6c d6
.!
a l6y gi6
tri:
Phpm vi gi6
bi6n co mQt gi6i h4n. DO x6c dinh mQt bi6n tdan cpc (global) c6 t6c dung trong mQt hhm, ta cdn khai b6o lai. N6u kh6ng gi6 tri cta bi6n sE dugc coi nhu ld cgc
bQ trong hdm. PHP coi
1
Vi dp: $a:1; $b: 2; Function Sum 0 { global $a, $b; $b Sum
:
$a + $b;
}
0; echo $b;
Khi c6 khai b6o global d tr€n, $a vd $b duqc cho bii5t d6 ld nhirng bi6n todn cpc. Ni5u kh6ng co khai b6o global, $a vd $b chi dugc coi ld c6c bii5n b6n trong hdm Sum0.
-
DiAu ndy kh6c voi C.
MQt c6ch kh6c d5 dung bitin todn cuc trong PHP
Vi dq d tr6n
sE
c6 thii vi6t nhu sau: Sa
t him
: l; $b :
ld ta dung m6ng $GLOBAL cta
2;
Function Sum 0
{ $GLOBALSI"b"J Sum
:
$GLOBALS["a"J + $GLOBALS["b"J;
]
0; echo $b;
MQt chri 1i kh6c ld khai b6o static. Vdi khai b6o ndy b6n trong mQt hdm cqc bQ, gi|tr1 cua bi6n cuc bO d6 sE kh6ng bi mat di khi ra kh6i hdm.
.
Vi dp: Function Test 0 { static $a: 0; echo $a; $a+r; ;
V6i khai b6o nhu tr6n , $a sE kh6ng m6t Oi gi6 tri sau khi thgc hiQn loi gqi hdm Test0 mi $a sE dugc ting 16n I sau m6i tin ggi hdm Test0. MQt bitin c6 th6
_
v6i I bi6n
gin v6i I c6i t6n
.
Vi dp: "hello"; $$a: "world"; ::> $hello "$a $hello"; K6t qui ra sE ld : hello world
$a:
GVHD: ThS.Nguydn Chi
Cudng
:
18
"world" vd echo "$a ${$a}?'. <::) echo SWH:Chdu Kim Hiln
Kh6a luqn t6t nghiQp: Website Qudn L!,Diem cila Sinh ViAn o ffudng dqi hpc
Chri
Vi
f:
ta c6 th6 gflp ph6i trucrng hqp kh6ng 16 rdng khi su dung c6ch niry vdi mAng
dr,r:
hi6u ld ta mu6n dung $atll nhu 1 bi6n hay dung $$a nhu 1 bii5n v6i chi s6? Di5 trenh trudng hgrp ndy , cAn c6 sgu phAn biQt rd bing d6u { }.
$$atll
sE
[]
ld
Vi du:${$a[1]] hoac ${$a}tll. a
* CLc gi6tri b6n ngodi pham vi PHP: - HTML Form : khi I form gin v6i I file php qua phucrng thirc POST PHP sE tpo g6m mgi gi6 tri trong truong Name cira Form. PHP co ttr6 tri6u dugc mQt m6ng m6t chiiiu gdm c6c gi|tritrong 1 form. Vi vfly, ta c6 thiS nh6m nhirng ei6ti
1i6n quan lai v6i nhau ho[c su dgng clflc tinh ndy d6 nh{n c6c gi6 tri tu I cliu vdo tuj, chon. (multi_select input) 1 bii5n $name bao
Khi tinh ch6t track_vars dugc dflt trong c6u hinh holc c6 chi <?php-track_vars?>
d6n
.
Chc gia tri duoc submit dugc l6y ra qua phucrng thirc GET vd POST c6 th6 6y tu 2 mingtdan cpc $HTTP_POST_VARS vd $HTTP_GET_VARS
-
Image Submit
Khi dung 1 image dC thuc hiQn submit, c6 thi5 dung tag nhu
sub
sau:
")
Khi nguoi dung click chuQt tr6n 6nh, form tucrng img sE dugc gui tdi server kdm theo 2 gi6 tA th6m vio: sub_x vd sub_y. Nhtng bii5n ndy sE luu gifr to4 d0 md ngudi dung dd click chuQt tr6n Anh. Nguoi lfp trinh c6 kinh nghiEm sE thAy ring tr6n thuc t6,
PHP h6 trd HTTP cookies theo dinh d4ng cria Netscape. Cookies file luu git th6ng tin cira c6c trinh duyQt tu xa vd qua d6 co th6 theo ddi hay nhpn bi6t nguoi sri dpng. C6 thti dung Cookies bing hdm SetCookie("t6n Cookie", "gi6tri","thdi gian s5ng" ). .). ndy cin duoc ggi tru6c khi th6ng tin dugc gtii tdi trinh duyQt.
Him
ty
cookie ndo gui t6i ta tu m6y kh6ch (client) se lu clQng chuytin thdnh dir liQu ctta phucrng thric GET vd POST. N6u ta m.r6n c6 nhi6u gi6 tri trong 1 cookie, chi cAn th6m vdo d6u [] vdi t6n ctra cookie.
nat
Vi
dU : SetCookie ("MyCookie[J", "Testing", time) +3600);Chf ], ring cookie thay th6 cho cookie cirng ton, tni trudmg hqrp kh6c dudng ddn hoflc micn.
th6ng tin tdi qua c6c phucrng thric GET, POST, Cookie ctng tg cl6ng tqo cbc bitin PHP, thinh tho6ng ta n6n dgc 1 bi6n tu m6i trucrng ct6 chic chin ring ta c6 dring version. Hdm getenv ( ) vd putenv ( ) giirp ta dgc vd ghi v6i cicbi6n m6i trudng.
Vi
*
D6u ch6m trong tOn bi6n
Binh thulng, PHP kh6ng thay c16i t6n bii5n khi bi6n do dugc truyd:n vho do4n script. Tuy nhi6n, nOn chir ring d6u ch6m (.) I'h6ng phii ld mQt ky hiQu hqp lQ trong t6n bi6n ct6i v6i PHP. Vi vpy, PHP sE t.u dQng thay th6 c5c d5u chAm bing d6u g4ch dudi.(
f
_) 2.2.2.5.Hnng trong PHP
-
Khai b6o Hing:
Hing ld gi6 tri kh6ng thay
r16i
tc tu khi khai b6o, sti dpng ph6t bitlu Define
dti khai
b6o nhu sau:
define("MAXSIZE", 1 00); 2.2.2.6. Bi6u thric
Bitiu thric ld n6n tAng quan trgng cira PHP. HAu nhu mgi thu ta ghi trong file php d6u ln bi6u thirc. Noi mQt c6ch dcrn giAn, b6t cir gi mang I gi6 tri ndo do d6u c6 the le 1 bi6u thric. Ta x6t cdu lQnh clcrn gi6n sau: $a : 5; O i16y 5 ld mQt bitiu thirc, k6t cria cua bi6u thric ndy ld gi|tri 5, vd k6t qui ndy dugc g6n cho bi6n $a. $b : $a; O c16y $a lai ld 1 bi6u thric, gi6 tri ctra $a ducrc g6n cho bi6n $b. 2.2.2.7.
Toin tfr
-
To6n tu g6n: n6 g6m kV fu dcrn:. Toiin tu g5n l6y gietri cria to6n h4ng b6n g6n n6 vdo to6n h4ng b6n tr6i.
-
To6n tu s6 hgc: ld dgng phep tinh gi6n don cQng, tr[r, nh6n, chia, trong
Giii thich
Tor[n trt +
*
%
CQng
Vi
hgc.
dB
1+8:9
hai s6 h4ng
Iru hai s6 h4ng
)-8:1
NhAn hai s6 h4ng
)*l:9
Chia hai sO h4ng
lll2:5.5
Iri
l0oh3:l
vC s6 du
Bdng 2.1
sO
phii
- Todn t* si| hpc
To6n t[r so s6nh: ld to6n tir dugc su dpng ctti thUc hign c6c phdp to6n so sSnh glua nal so^,nang. GVHD: ThS.Nguydn Chi Cuong
20
SWH:Chdu Kim Hiln
Kh6a luQn t6t nghiQp: Website Qudn L!,DiAm cila Sinh ViAn d trudng dqi hoc
To6n tfr
Giii thich
TGn
D6ng nhdt
b[ns nhau FIai s6 hane kh6ns bine nhau FIai sd hane blns nhau vd cine ki6u
Or VC tr6i hoic vC ph6i li true True ll false And VC tr6i vi v€ phdi ld true True && false Not Kh6ne phAi li tme !true
il
&& !
Bdng 2.3
-
Vi du
Trf, vd true n6u
TGn
-
Todn
qui
True False false
t* logic
To6n tu k6t hqp:
Toin tfr
Vf du
Gif,i thich
++
$a++
$a:$a+1
$a--
$a:$a-1
$a+:$b
$a:$a+$b
$a-:$b
$a:$a-$b
$a*:$b $a/:$b
$a:$a*$b
+*:
t:
Bdng 2.4
$a:$a/$b
- Todn t* k€t hqp
2.2.2.8. Cr[c cAu tQnh tliiiu khi6n
-
CAu lQnh
if
....else
IF (tli6u kiQn) { c6u l€nh; } IF (tliCu kiQn) { cdu lQnh; }ELSE { cdu lpnh; } IF (cliCu kiQn) { c6u lQnh; }ELSEIF { c6u lenh; }
IF
(i1i6u kiQn) { cdu l6nh; }
Dung bii5u tht?c di6u ki6n IF de chon loc k6t qui khi rli6u kiQn dring
IF (diAu kiQn) { cdu l6nh; }ELSE { cdu lenh;
GVHD: ThS.Nguydn Chi
Cudng
21
}
SWH:Chdu Kim Hun
Khda luqn tdt nghiQp: Website _ Quan Lj,Eiem cila Sinh ViAn rt trudng dsi hOc Str dpng IF dC chgn lgc ki5t
qui khi diAu kiQn dirng vir xuAt ra ktit
quA
khi di6u kien
sai
$b:true;
$j:i; if ($j>3) echo "resLtlt is true"; else
{
$i++; echo "resltlt is $j";
/
)
?> k€t qud hi€n thi: result is 4
ELSEIF: Ph6t bi6u ELSEIF ld phAn cua ph6t bi6u
chsn thi
-
phii
IF ...ELSE nhi€u
nh6,nh,
khi co nhi6u lpa
su dung ELSEIF.
Phit bi6u Switch (tlidu
kiQn)
khi co nhi6u lga chgn thi ph6i sri dpng switch. Dung break dtl th6at kh6i switch khi th6a mdn case ndo d6 trong switch, default khi kh6ng c6 bdt kj, giri tri ndo th6a mdn trong c6c case thi gi6 tri cu6i PhSt bi6u switch ld phAn cria ELSEIF nhi6u nh6nh,
'.
cung ld defaule statement.
-
Cffu lQnh while
Cdu lQnh while dung d6 tao 1 vdng 1[p, cir ph6p cria c6u lQnh ndy nhu sau:
white ( bi6u thirc ) c6u lQnh;
khi bi6u thirc cdn tr6 vij gi6 tri TRUE thi ti6p trlc thuc hiQn c6u lQnh, sau khi thgc hiQn cAu 10nh thi kii5m tralqi bitiu thric, n6u v6n cdn tr6 vd gi6 tri TRUE thi lai ti6p fuc thuc hien cdu lenh...ct ti6p tgc nhu vfly cho toi khi ndo biriu thric tri vC gi6 tri FALSE thi ngtmg Ducvc di6n gi6i nhu sau: trong
GVHD: ThS.Nguydn Chi
Crdng
22
SWH:Chdu Kim Hiln
Khda luqn tiit nghiQp: Website Qudn L!,Diem cila Sinh ViAn 6 tudng dqi hpc
vi dp:
$j: I o; while($j>0)
{ echo $j;
$j--;
) ?>
k€t qud hi6n thi: 10987654321
-
CAu lQnh do-while
Cdu lenh do-while cfrng tuong tg nhu cAu lQnh white, chi kh6c mQt cli0m
li
clugc thgc hiQn tru6c rOi Ui6u thric m6i dugc ki6m tra sau, ntiu biiSu thric cdn
cdu lQnh
tri vdi gi6
tri TRUE thi titiu tgc thgc hiQn cdu lQnh. Cri ph6p cira c6u lQnh do-while nhu sau:
do{ cdu lQnh;
) while ( bi6u thirc );
Vi dq:
$j:lo; do{ echo $j;zz
$j--;
)while($j>0) ?> k€t qud hi6n thi: 10987654321
-
CAu lQnh for
Cdu lQnh for cfing dung ctC tpo vdng Iap. Ddy td mQt trong nhirng c6u lQnh phric t4p nh6t cria PHP, cil ph6p cria n6 nhu sau:
for ( bitiu thric
1;
bi€u thhc 2;bi6u thric 3 )
cdu lQnh;
Dugc diSn gi6i nhu sau: GVHD: ThS.Nguydn Chi Ctrdng
23
SWH:Chdu Kim Hun
Kh6a luqn t& nghiQp: Website Quan L!,Diem cua Sinh ViAn o ffudng dqi hpc
Ddu ti6n bi6u thuc
I
ctuoc thuc hi€n. ..a
^.^ Ti6p theo bi6u thirc 2 dugc ki6m tra
Ni5u trA vC TRUB thi cdu lQnh ctugc thUc hien
_
N6u trA vC
petSB thi kOt thric
Kitlm tra l4i bi6u thric 2 virl4p
'
vi
sau do thgc hiOn bii5u
thtc
3.
cdu lQnh for.
14i qu5
trinh nhu tr6n.
for($j
: I ; Sj <:
I
0;
$i + + 1
/I echo $j; l
J
?> ,! k,At
qud hi€n thi: 12345678910
-
CAu lQnh foreach CAu 10nh foreach chi ldm viQc
vdi anay. Cdu lQnh foreach co 2
d4ng
cf ph6p nhu
sau:
foreach ( $array as $value ) du lenh;
foreach ( $array as $key:> $value )
-
c6u 10nh;
- Ciu l6nh continue C6u lpnh continue 6p dqng 16n c6c vdng l4p, lQnh continue sE bo qua Dn lap hiQn