Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 1
ច្េច្ ៀនទ្យី ១
History
PHP RtUv)anpþl;eQµaHCapøÚvkar HyperText Preprocessor vaCaPasaEdltMeNIrkarenAelI ServerEdlCa TUeTA
RtUv)an sresrkñúgbribT HTML b:uEnþmindUcCa HTML page FmµtaenaHeTPHP script minRtUv)anbBa¢Ún eTAeGay
client eday server pÞal;enaHeT vaeFVIkarbBa¢Úneday PHP engine . PHP code EdlzitenAkñúg script GaceRbIedIm,IeFVI
karCamYy Databases, begáItCarUbPaB ,Gan nigbBa©ÚlTinñn½yb¤ EkrERbGtßbTEdlmanenAxagkñúg files b¤ eFVIkar
TMnak;TMngeTAkan; Remote Server RBmCamYynwglT§PaBCaeRcInepSgeTot .
Rasmus Lerdorf KWCamnusSdMbUgEdlGPivDÆn_nUv PHP/FI ehIyRtUv)anmnusSrab;lanGñkeRbIR)as;va .
CMnan;tMbUgén PHP/FI eQaµHfa Personal Homepage Tools/Form InterpreterEdllkçN³CamYldæanKWRsedogeTAnwg
Pasa Perl eRBaH)anRbmUlpþMúnUv Perl scripts mkGPivDÆn_ enAkñúgGMLúgqñaM 1995 b:uEnþvaenAmankgVHxatCaeRcInenAkñúg
PasaenH dUcCa for loops CaedIm .
PHP/FI 2
enAkñúgqñaM 1997 Rasmus bnþkarGPivDÆn_nUv PHP/FI 2 rhUtmkdl;Ex vicäika qñaMdEdlbnÞab;BI Andi Gutmans
ehIynig Zeev Suraski )anRbTHeXIjnUv PHP/FI cMeBlEdlBYkeKkMBugEsVgrknUvPasaedIm,IGPivDÆn_nUvKMeragbegáIt
E-commerce solution sMrab;sklviTüal½y rbs;BYkeK . BYkeK)aneGaydwgfa PHP/FI BMuTan;manlT§PaB
RKb;RKan;enAeLIyehIyxVHxatnUv lkçN³BiessCaeRcIn . cMnucmYyEdlmankarcab;GarmµN_CageK KW while loops
EdlBYkeKnwgRtUvRbtibtþi .
PHP 3>
Zeev and Andi sMerccitþsresr scripting language eLIgvijb:uEnþBMuvtþman RasmuscUlrYmedIm,IGPivDÆn_nUv
PHP3eLIyehIy)anpþl;nUveQµaHfµIfaHypertext PreprocessoredIm,IbBa¢ak;fa PHPKWCaplitplepSgmYyeTotehIynwg
minRtwmEtykmkeRbIsMrab;EtkargarpÞal; xøÜnenaHeT . Zeev and Andi k¾)anbegáItnUv Extension API Edl API
begáItfµIenHvamanlT§PaBbMeBjnUvkargarCaeRcIndUcCa Accessing databases , spell checkers ehIynwg bec©k
viTüadéT²eTot EdleFVIeGaymankarcab;GarmµN_BIsMNak;GñkGPivDÆn_ CaeRcInmkcUlrYmkñúgKMerag PHP.
enAxN³eBlenaHEdr PHP k¾RtUv)anbeB©jjnUvCMnan;fµIrbs;xøÜnKW PHP 3 enA éf¶TI 3 Ex mifuna qñaM 1998
Edltamkar)a:n;sµan PHP nwgRtUv)antMeLIg RbmaN Cag 50 000 domains b:uEnþCamYytYelxBitR)akd elIkdMbUgrbs;
PHP RtUv)aneKtMeLIgeRcInCagmYylan Domain eTAeTot .
Introduction PHP
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 2
PHP 4>
enAeRkayqñaM 1998 Zeev nig Andi gakeTABitnitüelIkargar PHP 3 ehIyBYkeKmanKMnitfaBYkeKGacsrsrnUv
script language eLIgvijeGaymanlkçN³l¥RbesIrCagmuneTAeTot kñúgxN³eBlEdl PHP 3 kMBugbnþkareFVIsm<½n§ nig
RbtibtþikarenaH PHP 4 k¾ cab;epþImbegáItnUvKMrUfµI KW “compile first, execute later.” tMNak;kalénkar compile
minRtUv)an complie PHP Script eGayeTACa machine code enaHeT vaCMnYsedaykar compile eTACa byte code
EdleFVI karRbtibtiþkar eday Zend Engine ( Zend mkBIBaküfa Zeev nig Andi ) . viFIsaRsþfµIsMrab;karRbtibtþi script
enHGaceFVIeGay PHP 4 tMeNIrkar)anl¥RbesIreRcInCa PHP 3 ehIyRtUv)andak;bgðajnUv PHP 4 enHkñúg Ex ]sPa qñaM
2002 b:uEnþedaymankarpøas;bþÚrenAkñúgPasaenHCabnþbnÞab;eTIb PHP 4 )anbegáItnUvCMnan;rbs;xøÜn Ca PHP 4.1.0
nwg )anbgðajnUv Superglobals dUcCa $_GET nig $_POST . Edl Superglobals enHGacykmkeRbIR)as;BI
xagkñúg Functions edaymincaM)ac;eRbI global keyword. rhUtdl;CMnan;cugeRkayrbs; PHP4RtUv)an bgðaj Cacug
eRkaybg¥s; enAéf¶TI 27 Ex FñÚ qñaM 2002 .
PHP 5 >
edaymantMrUvkarCaeRcInnUvlkçN³rbs; object-oriented Andi k¾manKMnitsresrnUvObject-Oriented
sMrab;CaEpñkén Zend Engine. Zeev and Andi )ansresrnUvÉksarGMBI
“ Zend Engine II : Feature Overview and Design ” ehIycab;epþImBiPakSaKñaGMBI PHP‟s
eTAéf¶GnaKtEdlkñúgCMnan; PHP 5 mancMnucCaeRcInEdlnwgRtUvEkERb bEnßm b¤ rMelaHecal .
PHP‟s minRtwmEtERbRbYledayGaceGayeRbIR)as;nUvlkçN³ Object-Oriented b:ueNÑaHenaHeT vaEfmTaMg pÞúknUvmux
garfµI²CaeRcInEdlbBa©ÚlCamYymuxgarsMrab; XML ehIyCaBiessenaH KW SimpleXML extension EdleFVIeGay
manPaBgayRsYl kñúgkarsRmbsRmYlCamYyÉksar XML nig SOAP b¤ MySQLi fµI ehIynwg extensions epSg²
eTotEdlCacMnucsMxan;enAkñúg PHP‟s . eKrMBwgfa PHP 5 nwgGackøayCaGñknaMmuxeK enAelITIpSarénkarGPIvDÆn_ web
.
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 3
ច្េច្ ៀនទ្យី ២
1.អថេរ (Variables) >
VariableKWCaRKwHd¾sMxan;sMrab;PasakMuBüÚT½rvaRtUv)aneKeRbIedIm,IpÞúknUvtMélCabeNþaHGasnñenAeBlEdlRbtibtþikar
script mþg² . variable RtUv)anpþl;tMéleTAeGay enAeBlEdl Script cab;epþImtMeNIrkar b¤ enAeBlGñkeRbIR)as;bBa¢Úl
b¤)anmkBIkarcab;ykTinñn½yBI DatabaseGñkGaceRbIR)as; variable RKb;eBlTaMgGs; enAeBlEdl script cab;epþImtM
eNIrkarCamYyTinñn½y ehIyGñkGacEkERb tMélEdl Variable enaHpÞúkBIkarRbtibtþikar script mYyeTAkan;karRbtibtþikar
rbs; script mYyepSgeTot rhUtdl;eBlEdl script rbs;GñkRtUv)anbBa©b; .
sMrab;Pasa PHP eQµaHrbs; variable RtUvEtcab;epþImedaynimitþsBaØa $ (dollar sign)GñkGacpþl;nUveQµaHrbs;
variable CatYGkSr tMélelx b¤ underscore ( _ ) k¾b:uEnþGñkminGaceRbIGkSrdkXøaCamYyeQµaHrbs; variable enaHeT
.
]TahrN_ xageRkamKWCakarpþl;eQµaHeTAeGay variable EdlRtwmRtUv ³
$sok ;
$sok_som_neang ;
$_Dara ;
$Chenda22 ;
]TahrN_ karpþl;eQµaHeTAeGay variable EdlminRtwmRtUv ³
$123 ;
$*ABC ;
$A+B ;
Variable rbs; PHP GacpÞúknUvRbePTTinñn½yEdlCatMélelx tYGkSr object , arrayBooleans
ehIyral;cMnuHrbs; variable GaceFVIkarpøas;bþÚrRKb;eBlevla . CaTUeTAkarRbkasVariable b¤ karpþl;tMéleTAeGay
variable GñkGacGnuvtþn_nUv statement dUcxageRkam .
$num1 = 5;
$num2 = 8;
karRbkas variable BIr xagelIGñk)aneRbIR)as;nUv assignment operator (=) Edlnwgerobrab;lMGitenAkñúgemeron “
Operator and Expression “ .bnÞab;BIGñk)anpþl;nUvtMéleTA variablerYcral;ehIy GñkGacykvamk eRbIR)as;)an
dUcxageRkam ³
print $num2; vamantMélesµInwgkareRbI print 8; dUcecñHmann½yfa $num2 pÞúktMémø 8
cUrcgcaMfaral;cugbBa©b;énr)aykarN_rbs; PHP nimYy²RtUvEtbBa©b;edaysBaØa ( ; ) semicolon. 2 Data Types >
RbePTxus²KñaénTinñn½yRtUv)aneRbIR)as;nUvcMnYnsrubrbs;GgÁcgcaMepSg²Kña ehIyvaGacRbRBwtþeTAenAeBlGñk
erobcMvaenAkñúg script rbs;Gñk . manPasakmµviFImYycMnYnTamTareGayGñksresrkmµviFI RbkasnUvRbePT énTinñn½y
Building Block
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 4
BImux variable edayELksMrab;Pasa PHP kareRbIR)as; variable KWmanPaBgayRsYl edayvanwgeFVIkarKNna
nUvRbePTTinñn½yedaysV½yRbvtþienAeBlEdlGñk)anpþl;tMéleTAeGayva .
Standard Data Types
RbePT ]TahrN_ BiBN’na
Integer 5 pÞúknUvtMélelxCacMnYnKt;
Double 3.234 pÞúknUvtMélelxCacMnYnTsPaK
String "hello" pÞúknUvtMélCabnþMúéntYGkSr
Boolean True pÞúknUvtMélBiessKW true b¤ false
Array emeronTI
Object emeronTI
]TahrN_ 1
Gettype.php
01: <html>
02: <head><titile>Display Data Type</title>
03: </head>
04: <body>
05:
06: <h2>Using gettype</h2>
07:
08: <?php
09: $testing;
10: Print gettype($testing);// NULL
11: $testing = 5;
12: print gettype($testing); // integer
14: print "<br />";
15: $testing = "five";
16: print gettype($testing); // string
17: print "<br />";
18: $testing = 5.0;
19: print gettype($testing); // double
20: print "<br />";
21: $testing = true;
22: print gettype($testing); // boolean
23: print "<br />";
24: ?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 5
25:
26: </body>
27: </html>
enAeBlEdl variable $testing RtUv)anRbkasenAbnÞat;TI 09 edaymin)anpþl;tMéleTAeGayva
dUcecñHenAeBlEdleRbIR)as; gettype() function edIm,IRtYtBinitü variable enAbnÞat;TI10 enaHGñknwg TTYl)annUv lT§pl
CaGkSr Null . bnÞab;BIenH variable $testing RtUv)anpÞl;nUvtMélCatYelxenAbnÞat;TI 11 KWelx 5 EdlCacMnYnKt; b¤
GñkGacniyay)anfatMélelxEdlKµanek,ósdUecñHlTÞplEdlnwgTTYl)anbnÞab;BIkareRbIR)as;nUv gettype() function
bnÞat;TI12 KW // integercMENkkarpþl;nUvtMél "five" eTAeGay variable $testing enAbnÞat;TI 15 KWCabnþMúéntYGkSr
.enAeBlEdlGñkcg;eFVIkarCamYytMélCa string GñkRtUvEtdak;tMélenaHsßitenAkñúgcenøaH sBaØa ( “ ) Double quotation
mark b¤ ( „ ) single quotation mark .
tMélCaRbePT double RtUv)anpþl;eTAeGay variable $testing EdlsßitenAbnÞat;TI 18CatMélelx 5.0
EdltMélenHCatMélelxTsPaK b¤ CatMélelxEdlmanek,ós. tMélCaRbePT Boolean RtUv)anpþl;eTAeGay variable
$testing enAbnÞat;TI 21 ehIytMélenHGacmanEtBIrb:ueNÑaHKW true b¤ false .
sMKal; ³
PaBxusKñarvakareRbIR)as;nUv (“ ) double quotation mark nig ( ‘ ) single quotation mark
Double quotation mark GnuBaØatieGayeyIgeRbIR)as;nUv variable bBa©ÚlCamYy BIeRBaH PHP engine
nwgCMnYsnUvtMélEdlCa variable . sUmBinitüemIl]TahrN_xageRkam-
$name = "Rithya"; >
print "hello, $name"; // hello,Rithya >
RbsinebIGñkeRbIR)as;nUv single quotation mark variable minRtUv)anCMnYsedaytMélenaHeT .
print 'hello, $name'; // hello, $name >
]TahrN_ 2
Quotation.php
01: <html>
02: <head><title>Single Quotation and Double Quotation mark</title>
03: </head>
04: <body>
05: <h2> Using double quatation and Signle quatation mark</h2>
06:
07: <?
08: $name = "Rithya";
09: print "Hello,$name<br/>"; // Hello,Rithya
10: print 'Hello,$name'; // Hello,$name
11: ?>
12:
13: </body>
14: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 6
3.Displaying Type Information with var_dump()>
gettype() KWCa function EdleRbIedImI,TTYlnUvRbePT variable edayELk var_dump()
eRbIedIm,IR)ab;nUvRbePT variable nig cMnuHrbs;va . eRcInCagenHeTAeTot sMrab;RbePTtMélEdlsµúKsµajdUcCa
arrays nig object var_dump() pþl;eGaynUvBt’manRKb;RbePTEdlmanenAkñúgVariable enaH .
]TahrN_ 3
Var_dump.php
01: <html>
02: <head>
03: <title>Displaying Type Information with var_dump</title>
04: </head>
05: <body>
06: <h2>using Var_dump</h2>
07:
08: <?php
09: $testing=5;
10: print var_dump($testing);
11: ?>
12:
13: </body>
14: </html>
4.The Cast Operators
PHPpþl;eGaynUvviFIedIm,eFVIkarpøas;bþÚrnUvRbePTTinñn½yedayeRbIR)as;castoperators dUcmanerobrab;kñúg
taragxageRkam³
Operator Changes Type To
(int), (integer) Integer
(float), (real), (double) Floating point
(string) String
(bool), (Boolean) Boolean
(array) Array
(object) Object
]TahrN_ 5
Casting.php
<html>
<head>
<title>Casting variable</title>
</head>
<body>
<h2>Using Casting to Changing Type</h2>
<?php
$unexpect=3.14;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 7
$holder = (double)$unexpect;
print gettype($holder);
print "--- $holder<br/>";
$holder = (string)$unexpect;
print Gettype($holder);
print "-- $holder<br/>";
$holder = (integer)$unexpect;
print gettype($holder);
print "-- $holder<br/>";
$holder = (Double)$unexpect;
print gettype($holder);
print "---- $holder<br/>";
$holder = (boolean)$unexpect;
print gettype($holder);
print "-- $holder<br/>";
?>
</body>
</html>
5.Operators and Expressions >
Operators KWCanimiµtsBaØaTaMLayNaEdlGñkGaceRbItMélmYy b¤ eRcIn begáItecjCatMélfµImYyeTot
ehIytMélEdlRbtibtþieday operator enaHRtUv)aneKehAfa operand .
Operand KWCatMélEdlcUlrYmCamYy operator EdlCaTUeTA man operand BIrCamYyOperator mYy .
]TahrN_kareRbI operand BIr CamYy operator edIm,IbegáItecjCatMélfµImYyepSgeTot.
4 + 5 >
4 ehIynig 5 KWCa operand EdlRtUv)an operated eday addition operator (+) edIm,IbegáItnUvtMélfµI KW 9 . karpþMúnUv
operand nig operator edIm,IbegáItCalT§pl RtUv)aneKehAfa expression
5.1 The Assignment Operator >
Assignment operators eRbIedIm,Ipþl;nUvtMéleTAeGay variable . dUcEdlGñk)anCYbxagelI assignment
operator RtUv)an initialize variable RKb;eBl vaKWCaGkSr ( = ) .Assignment operator cab;yktMélBI operand
xagsþaMeTAeGay operand xageqVgdUc]TahrN_
xageRkam ³
$name = “ DYCHANDOEUN “ ;
Print $name; >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 8
CaTUeTAxageqVgén Assignment operator eRcInEtCa variable .
5.2 Arithmetic Operators
Arithmetic Operators
Operator Name Example Result
+ bUk ( Addition ) 10+5 15
/ Eck ( Division ) 10/3 3.333333333333
* KuN ( Multiplication ) 10*5 50
% yksMNl;BIplEck ( Modulus ) 10%3 1
- dk ( Subtraction ) 10-2 2
5.3 The Concatenation Operator ( . ) >
Concatenation operator eRbIedIm,IP¢ab; string sMrab; operator mYyenHvaeFVIkarCamYyEt string b:ueNÑaH .
dUecñHral; operand EdlminEmnCa string vanwg convert eGayeTACa string sUmBinitüemIl]TahrN_ ³
"hello"." world" karsresrEbbenHvaesµInwgkarsresr "hello world" .
$year = 2007; >
Print "Happy khmer new year_".$year ; >
Variable $year EdlCaRbePT integer RtUv)anbMElgeTACa string " 2007 " mun
eBlEdlvaRtUv)anP¢ab;CamYy string “ Happy khmer new year ” .
5.4 Combined Assignment Operators >
$x = 4; >
$x = $x + 4; // lT§pl $x KW 8
b¤ GñkGacCMnYsedaykarsresrdUcxageRkam
$x = 4;
$x += 4; // $ lT§pl $x KW 8
Some Combined Assignment Operators
Operator Example Equivalent to
+= $x += 5 $x = $x + 5
-= $x -= 5 $x = $x – 5
/= $x /= 5 $x = $x / 5
*= $x *= 5 $x = $x * 5
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 9
Some Combined Assignment Operators
Operator Example Equivalent to
%= $x %= 5 $x = $x % 5
.= $x .= " test" $x = $x." test"
5.5 Comparison Operators >
Comparison operators eRbIedIm,IeRboeFobnUv operands TaMgLay edaypþl;nUvtMélRtlb;Ca Boolean (
true or false ) .
]TahrN_edIm,IRtYtBinitütMélEdlmanenAkñúg $x nigCatMélEdltUcCagR)aM GñkGaceRbICamYynwg less than
operator .
$x < 5
RbsinebI $x pÞúktMél elx 4 expression xagelInwgpþl;CatMél true b:uEnþRbsinebI $x pÞúktMélCaelx 7 enaH
expression nwgpþl;nUvtMél false .
Comparison Operators
Operator eQµaH pþl;tMél True RbsinebI ($x KW 4)
== smmUl tMélxageqVg esµI tMélxag sþaM $x == 5
!= Non-equivalence tMélxageqVg xusBI tMélxagsþaM $x != 5
= = = Identical tMélxageqVg esµI tMélxagsþaM ehIy
tMélTaMgBIrRtUvEtmanRbePTdUcKña $x===5
> FMCag tMélxageqVgFMCag tMélxagsþaM $x > 4
>= FMCag b¤ esµI tMélxageqVgFMCag b¤ esµI tMélxagsþaM $x >= 4
< tUcCag tMélxageqVgtUcCag tMélxagsþaM $x < 4
<= tUcCag b¤ esµI tMélxageqVgtUcCag b¤ esµItMélxagsþaM $x <= 4
Operator xagelIenHPaKeRcIneRbICamYy integers or double ehIysMrab; operator( == )
KWeRbIedIm,IeRbobeFobtMélEdlCa strings .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 10
5.6 Logical Operators>
Logical Operators
Operator Name Returns True if... Example Result
|| Or Left or right is true true ||
false True
Or Or Left or right is true true ||
false true
Xor Xor Left or right is true but not both true xor
true false
&& And Left and right are true true &&
false false
And And Left and right are true true &&
false false
! Not The single operand is not true ! true false
Logical operators bMElg operand eGayeTACatMél Boolean rYceFVIkareRbobeFobtMélTaMgenaH .
Or operator b¤ ( || ) pþl;tMél true RbsinebI operand xageqVg b¤ xagsþaMNamYymantMél true .
]TahrN_ 1> true || false lT§plKW true .And operator b¤ ( && ) pþl;tMél true enAeBlEdl operand
TaMgBIrmantMél true .
]TahrN_ 2> true && false lT§plKW false .
]TahrN_ 3> ( $x > 2 ) && ( $x < 15 )
5.7 Increment/Decrement Operators
Increment/decrement operators eRbIedIm,IbegáIn b¤ bnßytMél rbs; variable EdlCa Integer
ehIyCaTUeTAeRbIedIm,Irab; Iteration rbs; loop .
$x = $x + 1; // $x is incremented.
$x += 1; // $x is incremented.
$x++; // $x is incremented
. $x = $x - 1; // $x is decremented.
$x--; // $x is decremented.
$x- = 1; // $x is decremented.
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 11
Operator Name Effect on $var
Value of the Expression
$var++
Post-increment
$var is incremented by 1
The previous value of
$var
++$var
Pre-increment
$var is incremented by 1
The new value of $var
(incremented by 1).
$var--
Post-decrement
$var is decremented by 1
The previous value of
$var
--$var
Pre-decrement
$var is decremented by 1
The new value of $var
(decremented by 1).
]TahrN_
$num1 = 5;
$num2 = $num1++; // post-increment, $num2 RtUv)anpþl;nUvtMéledImrbs; $num1
print $num1; // lT§plEdlnwgRtUvbgðajKW tMélrbs; $num1 KW 6
print $num2; // lT§plEdlnwgRtUvbgðajKW CatMéledImrbs; $num1 KW 5
]TahrN_ ³
$num1 = 5;
$num2 = ++$num1; // pre-increment, $num2 RtUv)anpþl;nUvtMélfµIrbs; $num1
eTAeGay $num2 .
print $num1; // lT§plEdlnwgRtUvbgðajKW tMélrbs; $num1 KW 6
print $num2; // lT§plEdlnwgRtUvbgðajKW CatMélrbs; $num1 KW 6
6.Constants >
CaTUeTA Variables RtUv)aneKeRbIedIm,IpÞúknUvtMél BIeRBaHtMél nig RbePTrbs;vaGac
nwgRtUvpøas;bþÚr)anRKb;eBlevla . RbsinebIGñkcg;eFVIkarCamYytMélEdlminERbrRbYlenAkñúgkar RbtibtþikarkUdrbs;Gñk
GñkGaceRbIR)as;nUv constant . PHP )anpþl;nUv define() function edIm,I
begáItnUv constant .
define("CONSTANT_NAME", 42); >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 12
tMélEdlGñkGacpþl;eTAeGay constant KWRtUvEtCa tMélelx b¤ tYGkSr ehIysMrab;kar
pþl;eQµaHrbs; constant GñkKYrEteRbIGkSrFM . ralkar;eRbIR)as; constant variable GñkRKan;yk eQµaHrbs; constant
enaHmkeRbI b:uEnþminmansBaØa ($) dollar symbol enABImuxenaHeT .
]TahrN_ 6
constant.php
01: <html>
02: <head>
03: <title>Defining a constant</title>
04: </head>
05: <body>
06: <div>
07:
08: <?php
09: define("USER", "Ankor");
10: print "Welcome ".USER;
11: ?>
12:
13: </div>
14: </body>
15: </html>
enAbnÞat;TI 10 eyIg)aneRbI concatenation operator edIm,IP¢ab;tMélrbs; constant nig
GkSr "Welcome" BIeRBaH PHP engine minmanviFIsaRsþedIm,IEbgEck rvag constant nig string
EdlenAkñúg quotation mark enaHeT .
Ca Default constant KW case sensitive b:uEnþGñkGacpøas;bþÚredayTTYlyknUv argument
TI3 Ca boolean mkeRbIkñúg define() function edIm,IkMNt;eGaykareRbIR)as;eQµaH constant Ca
Case insensitive dUcmankñúg]ThrN_xageRkam .
define("USER", "Ankor", true); >
dUecñHGñkGaceRbIR)as; constant edayminmankarxVayxVl;GMBIGkSrtUcb¤FMeLIy .
print User;
print usEr;
print USER;
]TahrN_ 7
constant2.php
<html>
<head>
<title>Defining a constant</title>
</head>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 13
<body>
<div>
<?php
define ("USER", "Angkor",true);
print "Welcome".uSER."<br/>";
print "Welcome".uSeR."<br/>";
print "Welcome".usEr."<br/>";
print "Welcome".uSER."<br/>";
?>
</div>
</body>
</html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 14
ច្េច្ ៀនទ្យី ៣
1. The if Statement
If statement KWCaviFIsaRsþEdleRbIedIm,IRtYBinitüeTAelIkarRbtibtþikarrbs; statement EdlenAbnÞab;va
( GacCa single statement b¤ Ca block of code EdlzitnUvkñúgsBaØa {-------} )
If statement eFVIkarvaytémø expression EdlenAkñúgsBaØa (---) RbsinebI expression rbs; ifpþl;tMél true enaH
statement EdlenAxaeRkamnwgRtUvGnuvtþn_ .
kUdxageRkambgðajBI TMrg;én if statement EdlRtYtBinitü expression Ca string .
if(expression)
{
// code EdlnwgRtUvGnuvtþn_enAeBlEdl expression pþl;tMél true
}
]TahrN_ 8
<Html>
<head>
<title> Using if Statement </title>
</head>
<body>
<h2>Using if statement</h2>
<?php
$user="Thanith";
$pwd="123";
If(($user= ="Thanith" && pwd= ="123"))
print "Login successful";
else
print "Login fail !";
?>
</body>
</Html>
kareRbIR)as; comparasion operator (==) edIm,IeRbobeFob variable $user nig tMélCaGkSr " Thanith "
variable $pwd CamYynwgtMél "123" RbsinebItMélEdlRtUveRbobeFobnigtMélrbs; variable
dUcKñaenaH expression nwgpþl;tMél true ehIy code block nwgRtUvGnuvtþn_b:uEnþRbsinebItMélrbs; $user
bþÚreTACa "Romchong" b¤ tMélrbs; $pwd bþÚreTACa "124" ehIytMeNIrkar scripteLIgvij enaH
expression EdlenAkñúg if statement niwgpþl;tMél falseehIyCode block nwgminRtUvGnuvtþn_ Edl
script nwgEbreTAGnuvtþn_nUv else statement CMnYsvij .
else
print "Login fail !";
[[[[[[[
Going With The Flow
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 15
1.1 Using the else if Clause with the if Statement
GñkGaceRbIR)as;nUvTMrg; if/else b¤ else/if edIm,IeFVIkarBinitüelI expression muneBlEdl
Script rbs;GñkRtUvGnuvtþn_ nUv default block of code .
if ( expression )
{
// code EdlRtUvGnuvtþn_ RbsinebI expression pþl;témø true
}
else if ( another expression )
{
// code EdlRtUvGnuvtþn_ RbsinebI expression dMbUgpþl;témø false
// ehIy expression rbs;va true
}
else
{
// code EdlRtUvGnuvtþn_ RbsinebIBMuman expression NamYy true
}
RbsinebI expression dMbUgminpþl;nUvtMél true enaH block of code dMbUgk¾minRtUv)an Gnuvtþn_Edr else if
cab;epþImeFVIkarCamYy expression rbs;xøÜn RbsinebI expression enHpþl;tMémø True enaH block kUdTI2 nwgRtUvGnuvtþn_
pÞúymkvijkUdEdlsßitenAkñúg else clausenwgRtUvGnuvtþn_ CMnYsvij . GñkGaceRbIR)as; else if )anCaeRcIneTA tamkarcg
;)anrbs;Gñk ehIyRbsinebI Gñkmin cg;eGayman Default action eT GñkmincaM)ac;eRbIR)as; else clause enaHeT .
2. The switch Statement >
switch statement KWCaviFIsaRsþEdleRbIedIm,Ipøas;bþÚrlMdab;énkarGnuvtþn_kUdrbs;kmµviFIEdlGaRs½yeTAelI
karvaytMélrbs; expression . kareRbIR)as; if statement CamYy else if GñkGaceRbIR)as; expression)aneRcIn eday
ELk switch eRbIR)as;Et expression mYyb:ueNÑaH .karGnuvtþn_ code xus²KñaKWGaRs½yeTAelIlT§plénexpression
Edlpþl;tMélCa simple typedUcCa ( number , string , Boolean……. l. ) .
switch (expression)
{
case exp:
// execute this if expression results in result1
break;
case exp:
// execute this if expression results in result2
break;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 16
default:
// kUdnwgRtUvGnuvtþn_RbsinebIminman expression NadUcnwg expression rbs; case
}
Expression rbs; switch statement CaTUeTARtUv)aneRbICa variable ehIy coderbs; switch statement
RtUvsresrenAkñúg case statement . ral;tMél expression rbs; casenimYy² RtUv)anykmkepÞogpÞat;CamYy expression
rbs; switch statement RbsinNatMélrbs;case NamYydUcnwg expression rbs; switch statement enaH code block
nwgRtUvGnuvtþn_ bnÞab; mk break statement nwgbBa©b;karGnuvtþn_ switch statement b:uEnþRbsinebIBMuman case expression
NamYy dUcnwg switch expression enaH default statement KWCaGñkGnuvtþn_ .
]TahrN_ 9
<Html>
<head>
<title>
Using switch Statement
</title>
</head>
<body>
<h2>Using switch statement</h2>
<?php
$name="Daro";
switch($name)
{
case "Dara":
print " Hello Dara";
break;
case "Many":
print "Hello Many";
break;
case "Daro":
print "Hello Daro";
break;
Default:
print "No one know";
}
?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 17
</body>
</Html>
3. Loops >
Loop statement GaceGayGñkGnuvtþn_nUvkargarmþgehIymþgeTotenAkñúg programrbs;Gñk rhUtdl;vasMerc lkç½NÐ b¤ GññkbBa¢aeGaycakecjBI loop .
3.1 The while Statement >
While loops KWCaRbePTmYyén loops . expression rbs;vapþl;CatMél true b¤ false dUecñHRbsinebI
expression pþl;tMélCalT§pl true enaH code block nwgRtUvGnuvtþn_ Edl blockCode sßitenAkñúg loop enaH
RtUv)aneKeGayeQµaHfa iteration .
while ( expression )
{
// do something
}
]TahrN_ 10
while.php
<html>
<head><title>The While Statement</title>
</head>
<body>
<h2>Using the While Statement</h2>
<?php
$sum=0;$i=1;
$str="";
While ($i<=10)
{
$sum+=$i;
$str= $str."$i+";
$i++;
}
echo substr($str,0,-1)."=$sum";
?>
</body>
</html>
3.2 The do...while Statement >
do..while statement vamanlkçN³Rbhak;RbEhlnwg while statement b:uEnþlkçN³BIrEdlxusKñaBI while
statement KW block code rbs; do while statement Gnuvtþn_muneBlEdl Expression rbs;vaRtUv)an test nig pþl;tMél
true b¤ false .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 18
do
{ ………………………
// code to be executed
………………………
}
while (expression);
Test expression én do...while statement RtUvEtbBa©b;eday ( ; ) semicolon. >
]TahrN_ 11
dowhile.php
<html>
<head><title>The Do While Loop Statement</title>
</head>
<body>
<h2>Using the do while Statement</h2>
</body>
</html>
<?php
$sum=0;$i=1;$str="";
Do
{
$sum=$sum+$i;
$str= $str."$i+";
$i=$i+1;
}
While ($i<=10);
{
$i=$i-1;
echo substr($str,0,-1)."=$sum";
}
?>
3.3 The for Statement >
for ( initialization expression; test expression; modification expression ) {
// code to be executed
}
ral; expression nimYy²EdlmanenAkñúgsBaØavg;Rkckrbs; for statement KWRtUvEbgEckKñaeday semicolon ( ; )
. expression TImYy cab;epþImrab; variable ehIy expression TI2eFVIkarRtYtBinitülkç½Nrbs; for loop nig expression
TI3 begáIn b¤ bnßynUvcMnYnkarrab; .
]TahrN_ 12
forloop.php
<html>
<head>
<title>The for Statement</title>
</head>
<body>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 19
<h2>Using for Statement</h2>
<?php
$sum=0;$str="";
for ($i=1; $i<=10; $i++ )
{
$sum+=$i;
$str= $str."$i+";
}
echo substr($str,0,-1)."=$sum";
?>
</body> </html>
enAeBlEdl program tMeNIrkardl; for loop variable $i RtUv)an initialize ehIyTest expression
cab;epþImRtYtBinitüeTAelI expression rbs;xøÜn RbsinebI expression pþl;tMélTrue enaH code block nwgRtUvGnuvtþn_
bnÞab;mk $i variable eFVIkarbegáIntMélmYyehIy testExpression cab;epþImeFVIkarRtYtBinitüeTAelI expression
rbs;xøÜnsarCafµImþgeTot. RbtibtþikarenHbnþkarGnuvtþn_rhUtdl; test expression pþl;tMél false .
3.4 Breaking Out of Loops with the break Statement >
ral; loop statement KWsuT§EtmanP¢ab;mkCamYynUv test expression EdlGaceGayGñk bBaÄb;va)an b¤
edayeRbIR)as; break statement .
]TahrN_ 13
break.php
01: <html>
02: <head>
03: <title>the break Statement</title>
04: </head>
05: <body>
06: <div>
07:
08: <?php
09:
10: $counter = -5;
11: for ( ; $counter <= 10; $counter++ ) {
12: if ( $counter == 0 ) {
13: break;
14: }
15: $temp = 2000/$counter;
16: print "2000 divided by $counter is.. $temp<br />";
17: }
18: ?>
19:
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 20
20: </div>
21: </body>
22: </html>
eyIg)aneRbIR)as;nUv if statement enAbnÞat;TI 13 edIm,IRtYBinitünUvtMélrbs; variable$counter
RbsinebItMélrbs;vaesµInwgsUnü 0 break statement nwgRtUvGnuvtþn__ EdlRtUvcakecjBIBlock code rbs; for loop
statement ehIyGnuvtþn_nUv statement EdlenAbnÞab;BI for statement .
3.5 Skipping an Iteration with the continue Statement >
Continue statement bBaÄb;tMeNIrkarrbs; iteration EdlkMBugGnuvtþn_ bu:EnþminbBaÄb; tMeNIrkarrbs; loop
TaMgRsugenaHeT vanwgbnþeFVIkarCamYy iteration eRkay²bnþeTot rhUtdl; Expression pþl;tMél false b¤ CYb nwg break
statement .
]TahrN_ 14 continue.php
01: <!
02: exam continue statement
03: >
04: <html>
05: <head>
06: <title>Using the continue Statement</title>
07: </head>
08: <body>
09: <div>
10:
11: <?php
12:
13: $counter = -5;
14: for( ; $counter <= 10; $counter++ )
15: {
16: if ( $counter == 0 )
17: {
18: continue;
19: }
20: $temp = 2000/$counter;
21: print "2000 divided by $counter is .. $temp<br />";
22: }
23:
24: ?>
25:
26: </div>
27: </body>
28: </html>
enAbnÞat;TI14eyIg)anCMnYs break statement edaykareRbIR)as; continue statementRbsinebI variable
$counter esµI 0 iteration nwgRtUvrMlgkarGnuvtþn_ ehIybnþGnuvtþn_ iteration CabnþeTot .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 21
3.6 Nesting Loops >
]TahrN_ 15³
nestingLoop.php
01: <html>
02: <head><title>using nested loop</title>
03: </head>
04: <body>
05: <h2>Using nested loop</h2>
06:
07: <?php
08:
09: $j=0;$i=0;
10: for($i=0;$i<=5;$i++)
11: {
12: print "The Value i=".$i."<br/>";
13: for($j=0;$j<=3;$j++)
14: {
15: print "value J=".$j."<br/>";
16: }
17: }
18:
19: ?>
20:
21: </body>
22: </html>
kareRbIR)as; for statement edIm,I bgðaj table eTAkan; brower .
Nesting Two for Loops
01: <!
02: Nesting loops
03: >
04: <html>
05: <head>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 22
06: <title>Nesting Two for Loops</title>
07: </head>
08: <body>
09: <div>
10:
10: <?php
11:
12: print "<table border=\"1\">\n";
13: for ( $y=1; $y<=12; $y++ )
14: {
15: print "<tr>\n";
16: for ( $x=1; $x<=12; $x++ )
17: {
18: print "\t<td>";
19: print ($x*$y);
20: print "</td>\n";
21: }
22: print "</tr>\n";
23: }
24: print "</table>";
25:
26: ?>
27:
28: </div>
29:
30: </body>
31: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 23
ច្េច្ ៀនទ្យី ៤
1.What is Functions ?
Function KWCabnþMúén block code EdlGñkbegáIt ehIyGnuBaØatieGayGñkehA ykmkeRbI enAkñúg script rbs;Gñk
. enAeBlEdlGñkehA function kUd EdlenAxagkñúgnwgRtUvGnuvtþn_ ehIyGñkk¾Gac bBa¢ÚntMéleTAeGay function b¤
TTYltMélBI function mkvij .
1.1 Calling Functions >
Function manBIrRbePTKW Function EdlmanRsab; P¢ab;mkCamYynwgPasakmµviFI nigFunction
EdlGñkbegáIteLIgedayxøÜnÉg . enAkñúgPasa PHP man built-in function CaeRcInEdlpþl;nUvPaBgayRsYlsMrab;
karsresrkUdrbs;Gñk .
1.2 Defining a Function >
GñkGacbegáIt function edayeRbI function statement function function_name( $argument1,
$argument2 )
{
//
}
RbsinebI function rbs;GñktMrUveGayman argument cab;BIBIreLIgeTA GñkRtUvEtEckvaedayeRbIR)as;sBaØa
comma( , ) EdlCaTUeTA argument TaMgenaHKWCa variable ehIytMélrbs;vanwgRtUvpþl;eGayenAeBlEdl function
RtUv)anehA .
]TahrN_ 16
Declaring a Function <html>
<head>
<title>Declaring a Function</title>
</head>
<body>
<?php
function bigsum()
{
$sum=0;
for ($i=1; $i<=10; $i++ )
{
$sum+=$i; >
$str= $str."$i+";
}
echo substr($str,0,-1)."=$sum";
}
bigsum();
?>
</body>
Function
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 24
</html>
lT§plEdlbgðajenAelI browser KWCa string éntYrGkSr 1+2+3+…………+10 = 55]TahrN_xagelIenHKW
CakarbegáItnUv function mYyeQµaHfa bigsum()EdlCa function minmannUv Arguments enaHeT .sMrab;]TahrN_TI 20
eyIgnwgbegáIt function EdleRbIR)as; argument .
]TahrN_ 20
01: <html>
02: <head>
03: <title>Declaring a Function</title>
04: </head>
05: <body>
06
07: <?php
08:
09: function bigsum($count)
10: {
11: $sum=0;
12: for($i=1; $i<=$count; $i++ )
13: {
14: $sum+=$i;
15: $str= $str."$i+";
16: }
17: echo substr($str,0,-1)."=$sum";
18: }
19:
20: bigsum(10);
21:
22: ?>
23:
24: </body>
25: </html>
1.2.1 Returning Values from User-Defined Functions >
enA]TahrN_xagelIeyIgTTYl)annUvlT§plCa string enAelI browser edaykareRbIR)as; bigsum()
function . function rbs;GññkGaceFVIkarpøas;bþÚrtMélEdlGñk)anpþl;eGayb¤ maneBlxøHGñknwgcg;eGay function
pþl;nUvtMélfµIeGayGñk bnÞab;BIGñk)anpþl;tMéleTA»óva.
Function mYyGacTTYl)antMéledaykareRbIR)as; nUv returnstatement CamYynwgtMélEdlRtUvbBa©ÚnRtlb;
eTAkan; function. return bBaÄb;Rbtibtþikarrbs; function ehIy bBa¢ÚntMélRtlb; eTAvijenAeBlEdl function
RtUv)anehAmkeRbI .xageRkamKWCa]TahrN_énkarbegáIt function Edl return tMélBI plbUlcMnYnBIrtMél .
]TahrN_ 21
01: <html>
02: <head>
03: <title>A Function That Returns a Value</title>
04: </head>
05: <body>
06:
07: <?php
08
09: function addNums($num1,$num2)
10: {
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 25
11: $result = $num1 + $num2;
12: return $result;
13: }
14: print addNums(3,5);
15:
16: ?>
17: </body>
18: </html>
addNums() Function RtUv)anehAykmkeRbIR)as;CamYynwg argument cMnYnBIrEdlCatMélelx 3 nig elx 5
EdltMélTaMgenHRtUv)anrkSaTukenAkñúg variable $num1 nig $num2addNums function eFVIkarKNnanUvplbUként
MélEdlrkSaTukenAkñúg variable TaMgBIrehIypþl;CalT§pleTAeGay variable $result .Gñkk¾Gac return
tMéledaykarehA function déTeTot)anpgEdr return ( another_function( $an_argument ) );
2. Variable Scope
Variable EdlRbkasenAxagkñúg function KWGaceRbIR)as;)anEtenAxagkñúg function enaHb:ueNÑaH
mann½yfaminGaceRbIR)as;)anenAxageRkA function b¤ enAkñúg function déTeTot .
sMrab; project FM²vaGacCYyGñkBIeRKaHfañk;énkarEkERbtMélEdlmanenAkñúg variableeBlEdlGñkRbkas
variable BIr ehIymaneQµaHdUcKña nig zitenAkñúg function epSg²Kña .
xageRkamKWCa]ThrN_ sþIBIkarbegáIt variable mYyenAkñúg function ehIyBüayamykVariable enaHmkbgðajelI
browser BI eRkA function .
cMNaM ³ VariableEdlbegáItenAxagkñúg function minGaceRbIR)as;BIxageRkA function )anenaHeT.
]TahrN_ 22³
01: <html>
02: <head>
03: <title>Local Variable Unavailable Outside a Function</title>
04: </head>
05: <body>
06: <div>
07:
08: <?php
10:
11: function test()
12: {
13: $testvariable = "this is a test variable";
14: }
15: print "test variable: $testvariable<br/>";
16:
17: ?>
18: </div>
19 </body>
20: </html>
Gñknwg)aneXIjnUvlT§plén]TahrN_xagelI EdltMélrbs; variable $testvariableminRtUv)anbgðajenaHeT
BIeRBaHBMuman variable NamYyRtUv)an)anbegáItenAxageRkA functiontest() enaHeT . KYrcMNaMfa karyk variable
Edlminman mkeRbIR)as;KWminmanPaB error eLIy.müa:gvijeTot variable EdlRbkasenAxageRkA function
KWminGacykmkeRbIkñúg function edaysV½yRbvtþienaHeT .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 26
2.1 Accessing Variables with the global Statement >
maneBlxøHGñkRbEhlCaRtUvkareRbIR)as; variable enAkñúg function rbs;GñkedayBMutMrUv
eGaymankarbBa¢ÚntMéltam argument enaHeT . xageRkamKWCa]TahrN_EdleRbIR)as;nUv
global statement edIm,IeRbIR)as;nUv variable EdlRbkasxageRkA function .
]TahrN_ 23³
01: <html>
02: <head>
03: <title>The global Statement</title>
04: </head>
05: <body>
06:
07: <?php
08:
09: $lottery=42;
10
11: function lotteryToday()
12: {
13: global $lottery;
14: print "Lottery today is $lottery<br />";
15: }
16:
17: lotteryToday();
18: ?>
19: </body>
20: </html>
enAbnÞat;TI 13 én]TahrN_TI23 eyIg)aneRbIR)as;nUv global BImux variable $lotteryEdl)anRbkasenAkúñg
function lotteryToday() edIm,IsMedAeTAkan; global variable $lottery Edl)anRbkasenAxageRkA function enAbnÞat;TI
09 .
GñkRtUvEteRbIR)as;nUv global statement enAral; function EdlGñkcg;eRbIR)as;nUv global variable.
GñkKYrRbugRby½tñpgEdrenAeBlEdlGñkpþl;tMéleTAeGay variable $lottoeryenAkñúg function BIeRBaH $lottery
nwgeFVIkarpøas;bþÚrtMélrbs;xøÜnTaMgGs;enAkñúg script rbs;Gñk .Gñkk¾GacRbkas variable CamYy global statement
)aneRcInkñúgeBlEtmYy)anpgEdr edaykarEcknUv variable nimYy²edaysBaØa ¬,¦ comma.
]TahrN_ ³ global $var1, $var2, $var3;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 27
ច្េច្ ៀនទ្យី ៥
1. What Is an Array?
Gñkk¾)ansÁal;rYcmkehIyGMBI variable EdlRtUveKeRbIedIm,IpÞúknUvtMélepSg² . edaykareRbIR)as; variable
Gñkk¾GacbegáItCa script eGayRbtibtþikar b¤ bgðajCaBt’manepSg²enAral;eBlEdlGñktMeNIrkarva b:uEnþKYreGay
esaksþay edayGñkGac rkSaTuknUvtMélEtmYyb:ueNÑaHkñúgeBlEtmYy nig kñúg variable mYy .
Array KWCa variable BiessEdlGnuBaØateGayGñk pÞúknUvtMél)aneRcInenAkñúg variablemYy .
ral;tMélnimYy²RtUv)anrkSaTukenAkñúg index rbs; array EdlGac Caelx b¤ Ca tYGkSr . Ca default Faturbs; array
EdlCa index KWcab;epþImBIelx 0 . ehtuGVI)anCaRtUveRbIR)as; array ?
RbsinebIGñkmantMélcMnYn 5 EdlRtUvrkSarTuk enaHGñkR)akdCaRtUvbegáIt variable cMnYnR)aMpgEdrArray KW flexible
eRBaHvaGacpÞúktMél)anBIr b¤ BIrry tMél edayBMumankaregáItnUvvariablefµIeTotehIy array k¾GaceGayGñkeFVIkarCa
mYytMélrbs;va )anya:ggay dUcCa kar loop Faturbs; array nimYy² b¤ tMrabFaturbs;vaeTAlMdab;énelxerog b¤
CatYGkSr eTAtamkarkMnt;enAkñúg system rbs;Gñk . xageRkamKWCakarbgðajnUvFaturbs; users array EdlmanFatuTI4
Ca index TI3 én users .
The Elements in the users Array
Index Number Value Which Element?
0 Sok First
1 Sao Second
2 Setha Third
3 Mesa Fourth
PHP k¾)anpþl;nUvlT§PaBedIm,IerobcMnUv indexed rbs; array edaykareRbIR)as;TaMg elx nig GkSrpgEdr.
2. Creating Arrays >
GñkGacbegáItnUv array variable edayeRbiviFIBIrya:gKW kareRbIR)as; array() construct b¤ kareRbIR)as;nUvsBaØa square
brackets ( [ ] ) .
2.1 Defining Arrays with the array() Construct>
array()construct vamansar³RbeyaCn_enAeBlEdlGñkcg;pþl;tMéleRcIneTAeGay array kñúgeBlEtmYy.
xageRkamKW]TahrN_énkarbegáIt array mYyEdlmaneQµaHfa $users ehIyeyIg)anpþl;tMélCa string cMnYnbYn
tMéleTAeGayva .
$users = array ("Sok", "Sao", "Mata", "Mesa");
\LÚvenHGñkGacykFaturbs; $users mkeRbIR)as;edaykareRbIR)as; index rbs; array
print $users[2];
Array
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 28
lT§plén]TahrN_xagelInwg bgðajCaGkSr Mata Edl index rbs;vaehIyRtUv)andak;enAcenøaH square
brackets ( [2] ) bnÞab;BIeQµaHrbs; array ( $users ) .
2.2 Defining or Adding to Arrays with the Array Identifier>
GñkGacbegáIt array fµI b¤ bEnßmtMéleTAeGay array )anedaykareRbIR)as;nUv array Identifier .
array identifier KWCabnþúMén squre brackets nig index rbs;va Caelx b¤ CaeQµaH.xageRkamCa ]TahrN_énkarbegáIt
$users array edayeRbIvIFIsaRsþmYyepSgeTot .
$users[] = " Sok";
$users[] = " Sao";
$users[] = " Dara";
$users[] = " Mesa";
]TahrN_xagelIminTamTareGayGñkdak;nUvtMélelxEdlCa index enAcenøaH square Brackets enaHeLIy
eRBaH PHP nwgpþl;tMél index edaysV½yRbvtþieTAeGay array . müa:gvijeTotGñkk¾Gacdak;nUvtMélCa index rbs;
array )anpgEdr b:uEnþminmankarKaMRTeGayeFVIEbbenHenaHeTsUmBinitüemIl karsresrkUdxageRkam³
$users[0] = "Phanit"; >
$users[200] = "Ratana";
Array xagelImanFatuRtwmEtBIrb:ueNÑaH b:uEnþ index cugeRkayrbs;vaKWCa index TI200 PHP nwgminkMnt
tMélFatueTAeGay index EdlenAcenøaH enaHeLIy EdleFVIeGaymankarPan;RcLMenAeBlEdlcg;BüayamykFatu
Edlmankñúg array enaHmkeRbI xN³eBlEdlGñkcg;eRbInUv Faturbs;va NamYyeTAtamcitþrbs;Gñk. sMrab;karbegáIt array
GñkGaceRbI nUv array() contstructrYceRbInUv array identifier edIm,IbEnßmnUvFatufµIeTotk¾)an .
sUmBinitü]TahrN_xageRkam ³
$users = array ("Sok", "Sao", "Mata", "Mesa"); >
$users[] = "Menear"; >
3. Populating an Array with array_fill() >
RbsinebIGñkcg;dak;nUvtMélCa default enAcenøaHén index array enaHGñkRbEhlCaeRbInUv array() function
dUcxageRkam .
$member = array ("cambodia", "cambodia", "cambodia","cambodia "); >b¤ GñkGaceRbIR)as;nUv array
müa:geTotdUcCa
$member[] = "Cambodia"; >
$member[] = "Cambodia"; >
$member[] = "Cambodia";>
$member[] = "Cambodia"; >
PHP )anpþl;nUv function edIm,IedaHRsaynUvbBaðaenHedayeRbInUv array_fill() function EdltMrUveGayGñkpþl;nUv
arguments cMnYn3sMrab; function enH TI1KWCatMél index Edlcab;epþIm
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 29
TIBIKWCa cMnYnFatuEdlGñkcg;)an ehIy argument TI3 KWCatMélEdlGñkRtUvpþl;eGayCaFaturbs;Array .
edaykareRbIR)as;nUv array_fill() function GñkGacsresrnUvbMENkkUdxagelIeLIgvij dUcxageRkam ³
$member = array_fill( 0, 4, "Cambodia" ); >
]TahrN_³ 24
<?
$member = array_fill(0,4,"Cambodia");
$member[] = "Malaysia";
print $users[2];
?>
4. Associative Arrays >
Assosciate array KWCa array EdleRbIR)as;nUv index CaGkSrenA cenøaH squqre braketsGñkGacbegáItnUv
assosciate array eday array construct( array() )b¤ array identifier (array[])
]TahrN_
$character = array("name" => "Sok", >
"occupation" => "Student",
"age" => 12,
"Adr" => "Phnom Pehn" );
\LÚvenHeyIgGaceRbIR)as;nUvFatu array rbs; $character dUcxageRkam³
print $character['occupation']; >
keys EdlenAkñúg assosciate array KWCa string dUecñH engine nwgbgðajr)aykarN_ error RbsinebI keys én array minman
quoted . dUecñHGñkKYrEteRbInUv quotation marks enAeBlEdlGñkeRbIkeys én array Ca string .
print $character[occupation]; // minRtwmRtUv
print $character["occupation"]; // RtwmRtUv
RbsinebI key RtUvpÞúkenAkñúg variable enaH GñkmincaM)ac;RtUveRbI quotation mark enaHeLIy .
$occ = "occupation"; >
print $character[$occ]; // RtwmRtUv
4.1 Directly Defining or Adding to an Associative Array >
GñkGacbegáIt b¤ bEnßm eQµaH¼tMél eTAeGay associate array edaykarpþl;nUvtMéleTAeGayeQµaHénFaturbs;
array dYcxageRkam .
$character["name"] = "sok"; >
$character["occupation"] = "Programmer"; >
$character["age"] = 30; >
$character["address"] = "Phnom Penh";>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 30
5. Getting the Size of an Array >
count() function pþl;nUvcMnYnFaturbs; array Edlman bMENkkUdxageRkameyIg)aneRbIR)as; nUv count()function
edIm,IykFatucugeRkayén array $users mkeRbI .
$users = array ("Sambath", "Ratana", "Davy", "Ryda" ); >
print $users[count($users)-1]; >
]TahrN_ 26
<html>
<body>
<head>
<title>Getting size of array</title>
<body>
<h2>Getting size of array</h2>
<?php
$users[]="Sok";
$users[]="Som";
$users[]="Mom";
$users[]="Mab";
print "<br/>".count($users);
?>
</body>
</html>
cMNaM ³ count() pþl;tMéléncMnYnsrubrbs;Fatu array minEmnCatMélén index cugeRkayenaHeT .
]TahrN_xageRkamenHKWkarbegáIt array edaykarpþl;nUv index eTAeGay array edayxøÜnGñk
$users[35] ="Sok";
$users[52] ="Som";
$users[890] ="Mom";
$users[52]="Mab";
count() enAEtpþl;nUvcMnYnsrubénFatu array dEdl KWmancMnYn 4 Fatu . ehIyGñkk¾GacTTYlnUv
Faturbs; array cugeRkay)anedaykareRbInUv end() function EdlTamTarRtwmEt argument
mYy b:ueNÑaH . ]TahrN_ print end($users);
6. Looping Through an Array >
foreach statement KWCaviFIsaRsþmYyya:gRbesIredIm,I loop ral;FatunimYy²EdlmanenA kñúg array .
GñkGaceRbIR)as;nUv foreach statement dUcxageRkam ³
foreach( $arr as $temp )
{
//...>>>>>>>>>>
}>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 31
$arr KWCa array EdlGñkRtUv loop ehIy $temp KWCa variableEdlGñknwgRtUvrkSarTukCabeNþaHGasnñ nUvFatunimYy²
kñúgRKa loop . kUdxageRkamKWCakarbegáIt array mYyehIyeyIg eRbI foreach statement edIm,IykFatunimYy²mk
bgðajelI browser .
]TahrN_ 26
<html>
<head>
<title>Looping throught array</title>
</head>
<body>
<h2>Looping througth array</h2>
<?php
$users = array ("Sok", "Som", "Mab", "Mab" );
foreach ( $users as $val )
{
print "$val<br />";
}
?>
</body>
</html>
]TahrN_ 27
<html>
<head>
<title>Looping throught array</title>
</head>
<body>
<h2>Looping througth array</h2>
<?php
$users[]="Sok";
$users[]="Som";
$users[]="Mom";
$users[]="Mab";
foreach( $user as $val )
{
print "$val<br/>
}
?>
</body>
</html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 32
6.1 Looping Through an Associative Array >
edIm,IeRbIR)as;nUv foreach statement CamYy assosciat array TaMg keys nig values GñkGaceRbIR)as;CamYynwg
foreach statement dUcxageRkam ³
foreach( $arr as $key=>$value ) >
{
//...>>
}
$arr KWCa array EdleyIgnwgRtUv loop ehIy $key KWCa variable EdlpÞúknUv key nimYy²CabeNþaHGasnñ ehIy
$val KWCa variable EdlpÞúknUv value rbs; array nimYy²CabeNþaHGasnñkñúgRKa loop mþg² .
]ThrN_ 28
01: <html>
02: <head>
03: <title>Looping thought associate array</title>
04: </head>
05: <body>
06: <h2> Looping thought associate array</h2>
07:
08: <?php
09:
10: $character = array ("name" => "Sao",
11: "occupation" => "Student",
12: "age" => 12,
13: "Adr" => "Phnom Pehn");
14:
15: foreach ( $character as $key=>$val )
16: {
17: print "$key = $val<br />";
18: }
19:
20: ?>
21:
22: </body>
23: </html>
ArrayEdl)anbegáItenAbnÞat;TI11 ehIyeRbIR)as;nUv foreach statement enAbnÞat;TI 15
edIm,I loop nUvFatuEdlCatMél nig key rbs;va . ral; key nimYyRtUv)anpÞúkenAkñúg variable Edl
pþl;eQµaHeGayfa $key nig ral; value nimYy²RtUv)anpÞúkenAkñúg variable Edlpþl;eQµaHfa $val
ehIyRtUv)anbgðajCalT§pleTAkan; browser enAbnÞat;TI 17 .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 33
7. Joining Two Arrays with array_merge() >
array_merge() mantYnaTIpÁMúnUvFaturbs; array BIr b¤ array eRcInbBa¢ÚlKña rYcpþl;Ca Array
fµImYyeTotEdlCabnþMúénFatu array TaMgGs;enaH. ]TahrN_xageRkamKWCa]TahrN_énkarbegáItnUv array BIr KW
array $arr1 nig array $arr2 ehIyeFVIkarbBa©ÚlKñarvagFatuén array TaMgBIrrYcpþl;tMélTaMgenaHeTAeGay
$arr3 bnÞab;mk loop ral;FatuEdlmanenAkñúg $arr3 .
]TahrN_ 29
array_merge.php >
<html>
<head>
<title>Joining Two array with array_merge()</title>
</head>
<body>
<h2>Using array_merge()</h2>
<?php
$arr1 = array("a", "b", "c");
$arr2 = array(1,2,3);
$arr3 = array_merge( $arr1,$arr2 );
foreach ( $arr3 as $val )
{
print "$val<br />";
}
?>
</body>
</html>
$arr3 array pÞúknUvral;FatuEdlmanenAkñúg $arr1 nig $arr2 array . foreach
statement
nwgbgðajnUvbnþMúénFatu array ( 'a', 'b', 'c', 1, 2, 3 ) CamYynwg <br/> enAcenøaHFatunimYy²
.
8. Adding Multiple Variables to an Array >
array_push()TTYlyknUv array nig tMélepSgBI parameters EdltMélTaMgenaHKWCaFatuEdlnwgRtUvbEnßmeTAeGay
array . array_push() function minmanlkçN³dUc array_merge()enaHeT BIeRBaH array
EdlbBa¢ÚneTACa argument dMbUgnwgRtUvERbRbYl ehIy array_push() nwg pþl;mkvijnUvtMélsrubTaMgGs
;EdlmanenAkñúg array enaHvij .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 34
]TahrN_ 30
01: <html>
02: <head><title>Adding Muliple variables to an Array</title></head>
04: <body>
05:
06: <?php
07:
08: $arr1 = array ("a", "b", "c");
09: $total = array_push( $arr1,1,2,3);
10: print "There are $total elements in \$arr1 ";
11:
12: foreach ( $arr1 as $val )
13: {
14: print "$val<br/>";
15: }
16:
17: ?>
18:
19: </body>
20: </html>
\LÚvenH $arr1 )anbEnßmnUvFatuCa integer cMnYnbIFatu Edl)anmkBIkareRbIR)as;nUv array_push() function
dUecñH $arr1 pÞúknUvtMélsrubcMnYn 6 FatuehIyRtUv)anbgðajnUvFatunimYy²eTAkan; browser edaykUdEdlmanenAkñúg foreach
statement .
cMNaM³ eyIg)aneRbInUv backslash eBlEdl print Ca string "------\$arr1" enAbnÞat;TI 10
RbsinebIGñkeRbInUv nimitþsBaØaenABImuxBakü b¤ XøaNamYyenaH PHP nwgbBa©ÚlCatMéleTAeGayeTAtameQµaH variable .
]TahrN_ xagelIeyIgcg;bgðajnUv string '$arr1' EdlminEmnCatMélrbs; variable enaHeT dUecñHedIm,I print nUv
special character ($) eyIgRtUvEteRbInUv backslash (\)
enABImux . RbsinebIGñkcg;bEnßmFatueTAeGay array ehIyCaFatudMbUgeTotenaH GñkGaceRbIR)as;CamYynwg
array_unsift() .
]TahrN_ 31
<html>
<head>
<title>Using array_unsift() </title>
</head>
<body>
<h2>Using array_unsift()</h2>
<?php
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 35
$arr1 = array ("a", "b", "c");
$total = array_unshift( $arr1, 1, 2, 3 );
print "There are $total elements in \$arr1 ";
foreach ( $arr1 as $val )
{
print "$val<br/>";
}
:
?>
</body>
</html>
\LÚvenH $arr1 array pÞúknUvtMél 1, 2, 3, "a", "b", "c" .
9. Removing the First Element of an Array with array_shift() >
array_shift() mantYnaTIykecjnUvFatuTImYyén array .sUmBinitü ]TahrN_xageRkam³
]TahrN_ 32
<html>
<head>
<title>Remove first array element with array_shift()</title>
</head>
<body>
<h2>Using array_shift()</h2>
<?php
$user=array("M","U","T","H");
$total=count($user);
echo "Before use array_shift() threre are $total element<br/>";
foreach($user as $val)
{
echo "$val <br/>";
}
array_shift($user);
$total=count($user);
echo "after use array_shift() there are $total element</br>";
foreach($user as $val)
{
print "$val <br/>";
}
?>>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 36
</body>
</html>
10. Slicing Arrays with array_slice() >
array_slice() GnuBaØateGayGñkTajykcMnYnénFatu array EdlTamTareGayGñkpþl;nUv
argument cMnYnbI TImYyKWCa array variable TI2CaTItaMEdlRtUvcab;epþImyk nigTIbI KWCacMnYnFatu rbs; array
EdlRtUvkarehIy argument TIbIenHKW (optional) RbsinebIGñkmineRbInUv argument enHeT array_slice()
nigcab;yknUvFatuTaMgGs;én array cab;BITItaMgEdlGñk)anpþl;CatMélenA kñúg argument TI1mk.
]TahrN_ 33
<html>
<head><title>Using array_slice()</title>
</head>
<body>
<h2>Using array_slice()</h2>
<?php
$first = array ("a", "b", "c", "d", "e", "f");
$second = array_slice($first, 2, 3);
foreach ( $second as $val )
{
print "$val<br />";
}
?>
</body>
</html>
kUdEdlbegáItenA]TahrN_ 33 nwgbgðajnUvlT§pl 'c', 'd', nig 'e' EdlCaFaturbs;
$secend bnÞab;BIeRbInUv array_slice() edayykFatuTaMgGs;rbs; $first .
11. Sorting Arrays >
11.1 Sorting Numerically Indexed Arrays with sort() >
sort() TTYlyknUv argument mYyEdlCa array ehIyeFVIkartMerobvaeTAtamlMdab;éntY GkSrb¤BItUceTAFM
]TahrN_ 34 KWCakarbegáIt array edaypþl;nUvtMélCa string eTAeGaybnÞab;mkeyIgeRbI sort()
edIm,ItMerobFatuTaMgenaHBI A-Z b¤ BItUceTAFM rYcbgðajCalT§pleTAkan; Browser .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 37
sUmBinitükñúg]TahrN_ 34
<html>
<head><title> sorting array with sort() function</title>
</head>
<body>
<h2>Using sort() function </h2>
<?php
$s_array = array ("Bayon", "Taprom", "Angkor", "Presh vihear");
sort( $s_array );
foreach ( $s_array as $var )
{
print "$var<br />";
}
?>
</body>
</html>
Gñkk¾Gacpøas;bþÚrnUvlMdab;énkartMerobFaturbs; array BIlMdab; tUceTAFM b¤ BIlMdab;FM eTAtUcvijedaykareRbInUv
rsort(). sUmkMuBüayameRbI sort()b¤ rsort() CamYy associate array BIeRBaH vanwgeFVIeGayGñk)at;bg;nUv key rbs; array .
11.2 Sorting an Associative Array by Value with asort() >
assort() TTYlyk argument EdlCaRbePT associate array ehIyeFVIkartMerobtMél rbs; array enaHBI A-Z b¤
CatMélelx BItUceTAFM GaRs½yeTAelIRbePTéntMél .
]TahrN_ 35
<html>
<head><title> sorting an associate array by value with assort() </title>
<head>
<body>
<h2>sorting an associate array by value with assort()</h2>
<?php
$first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1);
echo "<b>an associate Array before use asort </b> <br/>";
foreach ( $first as $key => $val )
{
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 38
print "$key = $val<br />";
}
echo "<b>an associate Array after asort </b><br/>";
asort( $first );
foreach ( $first as $key => $val )
{
print "$key = $val<br />";
}
?>
</body>
<html>
sMrab;karbþÚrlMdab;énkartMerobBItUceTAFM b¤ BIFMeTAtUc GñkGaceRbIrnUv arsort() .
11.3 Sorting an Associative Array by Key with ksort() >
ksort() TTYlnUv argument EdlCa associate array ehIyeFVIkartMerobtMél rbs;va nimYy²eTAtamlMdab;BI A-
Z b¤ Caelx BIFMeTAtUc edayGaRs½yeTAelI key rbs; array enaH .
]TahrN_ 36
<html>
<head><title> sorting an associate array by key with assort() </title>
<head>
<body>
<h2>sorting an associate array by key with kssort()</h2>
<?php
$first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1);
echo "<b>an associate Array before use ksort </b> <br/>";
foreach ( $first as $key => $val )
{
print "$key = $val<br />";
}
echo "<b>an associate Array after use ksort </b><br/>";
ksort( $first );
foreach ( $first as $key => $val )
{
print "$key = $val<br />";
}
?>
</body>
<html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 39
Gñkk¾Gacpøs;bþÚrlMdab;énkartMerob BIFMeTAtUv b¤ BI Z-A vijedayeRbI krsort() .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 40
ច្េច្ ៀនទ្យី ៦
1. What Is an Object ?
Object KWCa bNþúMén variables nig functions EdlzitenAkñúg template BiessmYyEdl eKehAfa class .
object lak;nUvtMeNIrkarEdlmanenAxagkñúg BIkareRbIR)as;va edaypþl;Ca Interface sMrab;eGayGñkbBa¢ÚnnUv
bBa¢aredIm,ITTYlBt’manRtlb;mkvij . interface TaMgenaHKWCa Function BiessEdleKeGayeQµaH methods ehIyral;
methods TaMgGs;én object KWRtUvEt Access eTAkan; special variable ehAfa properties.
KuNsm,tþirbs; object-oriented code KWpþl;nUvkarkat;bnßykarsresrkUd dEdl²BIeRBaH class Edl)an
begáIt Ca object manPaBgayRsYlykeTAeRbIR)as;BI project mYyeTAkan;Project mYyepSgeTot .
bEnßmBIenHvamanlT§PaBbegáIt nUv child classes Edl inherit ehIynwgOverride nUvlkçN³epSg²BI parents class .
2. Creating an Object
edIm,IbegáIt object mYyGñkRtUvEterobcMnUv template mYyedIm,IeGayvaGac instantiated Edl template enHKWCa
class enAkñúgPasa PHP edIm,IRbkas class mYyGñkRtUvEteRbI class Keyword .
class Person
{
// a very minimal class
}
Person class KWCamUldæand¾sMxan;mYyEdlGñkGac instantiate ral;tMélnimYy²BIPersonObject . edIm,IbegáIt
instance mYyén object GñkRtUvEteRbI new statement .
$obj1 = new Person(); >
$obj2 = new Person(); >
print "\$obj1 is an ".gettype($obj1)."<br />"; >
print "\$obj2 is an ".gettype($obj2)."<br />"; >
GñkGac test nUv $obj1 nig $obj2 CamYynwg gettype() function . gettype function TTYltMélVariable
nimYy²ehIypþl;Ca string mkvijEdlR)ab;GñkGMBIGVIEdlGñkkMBugEteFVIkarCamYy .
3. Object Properties
Object Edl access eTAkan; special variable RtUv)aneKehAfa properties . GñkGacRbkasnUv special
variable TaMgenaH)anenARKb;TIkEnøgTaMgGs;én class b:uEnþedIm,IeGaymanPaBgayRsYlGñkKYrEtRbkas;vaenAxagelI .
sMrab; property mYyvaGacCa value b¤ Ca array b¤ CaObject epSg² .
class Person >
{
var $name = "Vichet"; >
} >
[[
Object
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 41
eyIg)an declared nUv variable CamYynwg var keyword EdlenHKWCaviFIsaRsþEtmYyKt;edIm,I declare nUv property
mYyenAkñúgPasa PHP 4 eyIgnwgeXIjBIlkçN³bEnßmrbs; PHP 5 enA]TahrN_eRkay²eTot .
dUecñHRbsinebIGñkcg;sresrkUdeGay compatible CamYy PHP 4 enaH GñkRtUvEteRbI var keyword.
\LÚvenH Person objet Edl)anbegáItKWmanpÞúknUv property mYy EdleGayeQµaHfa $name
CamYynwgtMélrbs;vaKW "Vichet" . GñkGac access nUv property enH BIxageRkA object
nigeFVIkarpøas;bþÚrtMélrbs;vaedayeRbI]TahrN_ 37 .
<?
class Person >
{
var $name = "Vichet"; >
}
$obj1 = new Person(); >
$obj2 = new Person(); >
$obj1->name = "Soporn"; >
print "$obj1->name<br />"; >
print "$obj2->name<br />"; >
?>
( -> ) operator enHGnuBaØateGayGñkeFVIkar access b¤ pøas;bþÚrnUvtMélrbs; propertiesénObject .
eyIg)anpþl;nUvtMél "Soporn" eTAeGay $name property tamry³ $obj1->name .
4. Object Methods >
Method KWCa function Edl defined enAkñúg class . RKb; object Edl)an instantiatedBI class EtgEtman
method‟s Canic© eyIgnwgbEnßmnUv method mYyeTAeGay Person class enA
]TahrN_ 38 .
01: <?php
02:
03: class Person
04: {
05: var $name = "Vichet";
06:
07: function getName()
08: {
09: return "Ratana";
10: }
11:
12: }
13:
14: $person = new Person();
15: print $person->getName();
16: // outputs "Ratana"
17: ?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 42
dUcEdlGñk)anCYbRbTHmkehIyGMBI method én]TahrN_ 37 EdlemIleTAvamanlkçN³dUcKñaeTAnwg
function FmµtaEdr . GñkGac call object method edaykareRbIR)as;nimitþsBaØa ( -> ). method Edl)an access
eTAkan; member variables én class xagelI)an return nUv string "Ratana" EdlenHminEmnCakarGnuvtþn_EdlRtwmRtUv
enaHeT method KYrEt return tMélEdl copy BI $name property nwg minEmnCa string literal.
Gñkk¾)ansÁal;rYcmkehIyGMBIkaraccess a property BIxageRkA object b:uEnþetIRtUveFVIya:gNaedIm,I refer vaenAxagkñúg class
xøÜnÉg? sUmBinitüemIl]TahrN_ 39 .
5. Accessing a Property from Within a Method >
]TahrN_ 39
01: <html>
02: <head><titile>Accessing a property from within a method</title>
03: </head>
04: <body>
05: <h2>Accessing a property from within a method</h2>
06:
07: <?php
08:
09: class Person
10: {
11: var $name = "Thary";
12:
13: function getName()
14: {
15: return $this->name;
16: }
17: }
18:
19: $person = new Person();
20: $person->name = "Bopha";
21: print $person->getName();
22: //outputs "Bopha"
23: ?>
24: </body>
25: </html>
Class Edl)anbegáItkñúg]TahrN_ 39 eyIg)aneRbIR)as;nUv special variable $this edIm,I refer eTAkan;
current instantiated object enAbnÞat;TI 15 KW $name . object Edl refereTAkan;xøÜnÉgRtUvEteRbI $this variable
P¢ab;CamYysBaØa ( -> ) edaykareRbIviFIenHGñkGac accessral; property b¤ method EdlzitenAkñúg class xøÜnÉg.
GñkGacKitfacg;eGay object mannUvtMélén $name property epSg²Kña edayGñkGaceFVIkarerobcMnUvtMélrbs; $name
property dUcEdl)anGnuvtþn_enAkñúg]TahrN_ 39 b¤ GñkGacbegáItCamethod sMrab;eFVIkarCamYyvadUcmanbgðajkñúg
]TahrN_ 40 .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 43
6. Changing the Value of a Property from Within a Method >
]TahrN_ 40
01: <html>
02: <body>
03: <head><title>Changing the value of a property from within a method</tile>
04: </head>
05: <body>
06: <h2>Changing the value of a property from within a method</h2>
07:
08: <?php
09:
10: class Person
11: {
12: var $name = "tepy";
13:
14: function setName( $n )
15: {
16: $this->name = $n;
17: }
18:
19: function getName()
20: {
21: return $this->name;
22: }
23: }
24:
25: $person = new Person();
26: $person->setName("darya");
27: print $person->getName();
28: // outputs "darya"
29:
30: ?>
31:
32: </body>
33: </html>
$name propertyén object cab;epþImedaytMél string "tepy"enAbnÞat;TI12 b:uEnþbnÞab;BI setName() method
RtUv)anehAenAbnÞat;TI 26 tMélrbs;vaRtUv)anbþÚreTACa "darya" vij . Object KWmanlT§PaBpøas;bþÚrnUv property
rbs;xøÜnÉg)an ehIysMrab;karbBa¢ÚnnUv arguments eTAkan; method vijKWGñkGaceRbInUvviFI dUcEdlGñkGnuvtþn_vaCamYy
function FmµtaEdr .
7. Object Constructors >
enA]TahrN_muneyIg)aneRbIR)as; method mYyeQµaHfa setName() edIm,IeFVIkarpøas;bþÚrtMélrbs; $name
property müa:gvijeTot karpþl;nUvtMéltMbUgsMrab; $name property enAkñúg Class KW hard-code .var $name = "tepy";
> RbsinebIeyIgKitfa $name property pÞúknUvtMélepSg²Kña ral;eBlEdl instance én Person class
eyIgGaceFVIeGaykan;EtRbesIrCagmunedaykar set $name property enAeBlEdl Object RtUv)an initialize.
eyIgGaceRbIR)as; special function EdleKeGayeQµaHfa constructor edIm,I set properties
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 44
nigbMeBjkargarepSg²eTAtamtMrUvkarénkargar. constructor KWRtUvehAeday sV½yRbvtþienAeBlEdl object RtUv)an
instantiated edaykareRbIR)as; new keyword .
GñkGacbegáItnUv constructor tamviFIsaRsþBIrya:g TI1 KW constructor EdlCa functionmaneQµaHdUc class .
]TahrN_ 41 nwgbEnßmnUv constructor samBaØmYyeTAeGay Person Class EdlkUdxageRkamenHeRbIR)as;)ansMrab;Et
PHP 5 b:ueNÑaH .
]TahrN_ 41 A Class with a Constructor
01: <html>
02: <head>
03: <title>A Class with a Construct</title>
04: </head>
05: <body>
06: <h2>A Class with a Construct</h2>
07:
08: <?php
09:
10: class Person
11: {
12: var $name;
13:
14: function Person($name="tepy")
15: {
16: $this->name = $name;
17: }
18: function setName( $n)
19: {
20: $this->name = $n;
21: }
22:
23: function getName()
24: {
25: return $this->name;
26: }
27: }
28:
29: $person = new Person("darya");
30: print $person->getName ();
31: // outputs "Darya"
32:
33: ?>
34:
35: </body>
36: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 45
Person() constructor method bnÞat;TI14KWRtUv)anehAedaysV½yRbvtþienAeBlEdleyIgInstantiate nUv Person
object bnÞat;TI29 eyIgk¾)anerobcMnUvtMél default mYyCa string "tepy" pþl;eTAeGay parameter pgEdr
vaKWCakarCMnYseGay xN³EdleyIgmin)anpþl;Ca argument enAeBlEdleyIgbegáIt Object.
PHP 5 )anbgðajnUv syntax fµImYyedIm,IbegáIt constructor methods edayCMnYseGaykareRbIR)as;nUv function
EdlmaneQµaHdUc class mkCakareRbI special syntax fµIKW__construct()dUecñHeyIgGaceFVIkarpøas;bþÚrbnÞat;TI5én
]TahrN_xagelI mkeRbInUv syntax fµIedayeFVIkarCMnYsnUv function Person() mkeRbI __construct() vij.
function __construct( $name="tepy") >
{
………….
}
8. Limiting Access to Object Properties >
PHP 4 min)anpþl;nUvkar karBarsMrab; object properties enaHeT Client code Gac getb¤ set object
properties)aneTAtamkarKitrbs;BYkeK.mansMnYrsYrfaetImanbBaðaGVIeTkñúgkarGnuvtþn_EbbenH? vaminmanCabBaðakñúgkareRbI
R)as;nUv Public accessible properties enaHeT Edl CaTUeTA vaCakarGnuvtþn_sMrab;kar access eTAkan; object
EdlmanlkçN³tUc. enA]TahrN_xag eRkameyIgnwg)aneXIjnUvlkç½NÐmYyEdlkMNt;nUvRBMEdnénkar access eTAkan;
$name propertyrbs; Person class .
]TahrN_ 42 Class with Public Properties
01: <?php
02: class Person
03: {
04: var $name;
05: var $pid;
06: var $personStr;
07:
08: function Person( $name="somphy", $pid=0 )
09: {
10: $this->name = $name;
11: $this->pid = $pid;
12: }
13:
14: function setName( $n )
15: {
16: $this->name = $n;
17: $this->$personStr=$this->name." ".$this->pid;
18: }
19:
20: function getName ()
21: {
22: return $this->name;
23: }
24: }
25: $person = new Person("sovan",5233);
26: print $person->PersonStr();
27: // outputs "sovan 5233"
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 46
28: print "<br />";
29: $person->name = "makara";
30: ?>
PHP 5 pþl;nUvviFIsaRsþepSgedIm,I declare nUv properties rbs;eyIgedaykarCMnYsnUv Var keyword mkeRbInUv
keywords fµImYykñúgcMeNam keyword TaMgbI EdlmanlkçN³ Rsedog eTAnwg programming Java eyIgnwgbgðajBIkar
declarenUv property fµIenHenAkñúgtaragxageRkam
PHP 5 Property Declaration Keywords
Privacy Level Description
public Accessible to all. Equivalent to var.
private Available only to the containing class.
protected Available only to the containing class and subclasses.
dUecñHeyIgGacpøas;bþÚr properties rbs;eyIgEdlmanenAkñúg]TahrN_xagelIedayeRbIprivate CMnYs eday var
keyword vij .
ex.
private $name; >
private $pid; >
\LÚvenHkarBüayampøas;bþÚrnUvtMélrbs; $name property én Person object enAbnÞat;TI 30 nwgbgðajnUv error
message dUcxageRkam .
Fatal error: Cannot access private property Person::$name in c:\Inetpub\wwwroot\
classPrivateProperty.php on line 30 >
dUecñH Client coders RtUvEteRbIR)as;nUv setName() method edIm,IeFVIkarEkERbeTAelItMélrbs; $name property .
maneBlNamYyGñkRbEhlCacg;eGay child classes Gac accsess eTAkan; property
EdlenAkñúgeBlenaHGñkKYrEteRbInUv protected keyword eRBaHvaGnuBaØateGayGñk accesse vaBClass EdlGñk)an
derived ehIyeyIgnwg)aneXIjvaenAkñúgEpñkmYyEdlniyayBI Inheritance .
9. Limiting Access to Object Methods >
lkçN³sMxan;én object-oriented code KWCa class . Object RtUvEtkMNt;nUvmuxgarnig Public interface
eGay)anc,as;las;enAeBlGñkbegáItnUv methods epSg² .bMENkEdlmanenAkñúg classKWpÞúknUvmuxgarepSg²sMrab;tM
eNIrkardUecñHGñkKYrEtlak;nUvmuxgarTaMgenaHBIBiPBxageRkA. sMrab;Ca]TahrN_xagelIeyIgKYrEtbegáItnUv method
sMrab; $personStr property BIeRBaHral;tMeNIrkarTaMgGs;rbs; $personStr RtUv)anpÞúkenAkñúg setName() method .
function setName( $n )
{
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 47
$this->name = $n;
$this->$personStr=$this->name." ".$this->pid;
} >
GñkRbEhlCaRtUvkarnUv method edIm,I reset nUv string rbs; $personStr dUecñHeyIgnwgbegáItnUv
Method fµImYysMrab; pþl;tMéleTAeGay $personStr property .
function setName( $n )
{
$this->name = $n;
$this->makePersonStr( $n, $this->code );
}
function makePersonStr( $string , $code)
{
return $this->personStr = "$string $code";
}
\LÚvenHeyIgenAEtmanbBaðaenAeLIyCamYynwg method rbs;eyIg BIeRBaH client code enAEtGacAccess nUv
makePersonStr() method ehIyvaGaceFVI»ó Tinñn½yrbs;eyIgmankarBi)ak RKb;RKg . eyIgcg;eGayRtwmEt object
EdlCaGñkbegáItnUv property EtmYyKt;EdlmansiT§ Access mk kan; property enH enAkñúgCMnan;rbs; PHP 5
eyIgGacpþl;nUvlkçN³ pravicy eTAeGay methods dUcEdleyIg)anGnuvtþn_CamYynwg private property BI]TahrN_mun .
private function makePersonStr($string , $code) >
{
// ...
}
\LÚvenH makePersonStr() function Gac access )anEtenAkñúg method TaMgLayNaEdlzitkñúg Person class
b:ueNÑaH .
Public, protected ehIynwg private vatMeNIr)anEtCamYynwg PHP 5 Etb:ueNÑaH dUecñHRbsinebIGñkBüayam
eRbInUv keyword TaMgbIenHCamYy PHP 4 enaH script rbs;GñknwgRtUvbraC½yTaMgRsug .
10.Inheritance >
edIm,IbegáIt class mYyEdlGac inherits function BI parent class eyIgRbEhlCaRtUvEkERbnUvkar declare class
rbs;eyIgbnþicbnþÜc . ]TahrN_fµIxageRkamenH KWCakarbegßItnUv Item Class ehIynig begßItnUv inheriting class
Edlpþl;eQµaHfa PriceItem .
]TahrN_ 43
Creating a Class That Inherits from Another >
01: <html>
02: <body>
03: <h1>Creating Class That Inherits from Another</h1>
04: <?php
05:
06: class Item
07: {
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 48
08: var $name;
09:
10: function Item( $name="item", $code=0)
11: {
12: $this->name = $name;
13: $this->code = $code;
14: }
15:
16: function getName()
17: {
18: return $this->name;
19: }
20: }
21: class PriceItem extends Item
22: {
23: ………………………………
24: ………………………………
25: }
26: $item = new PriceItem( "Angkor", 4545 );
27: print $item->getName ();
28: // outputs "Angkor"
29: ?>
30: </body>
31: </html>
eyIg)anbegáItnUv class mYyeTotEdlmaneQµaHfa PriceItem enAbnÞat;TI 21 . KYrcMnaM
fa extends clause EdleRbIR)as;enAxagkñúgkar declare class enAbnÞat;TI21 enHmann½yfa PriceItem object
inherits ral; function TaMgGs;EdlmanenAkñúg Item class dUecñH PricteItem Object nimYy²KWmanlT§PaB access
eTAkan; getName() method b¤ $name property b:uEnþ k¾GaRs½yeTAelIkareRbIR)as;nUv privacy settings pgEdr .
edaysarEteyIgBMu)anbegáItnUv Constructor method sMrab; PriceItem class dUecñHetI $name property
vaGaceFVIkarpøas;pþÚrtMél BI default "item" eTACa "Angkor" edaybBa¢ÚneTAtam PriceItem )any:agdUcemþc ?
BIeRBaHeyIg
BMu)anpþl;nUv contructor enAkñúg PriceItem enaHeT dUecñHRbsinebI class Edl extend BI class déT
eTotminmannUv constructor method enaH contructor EdlCarbs; parent class nwgRtUv)an
ehAedaysV½yRbvtþienAeBlEdl child object cab;epþImbgáIteLIg .
11. Overriding the Method of a Parent Class >
enAkñúglkçN³én object-oriented kUdrbs; child classes Gac override methods BI Parents class
nwgGnuBaØtieGay objects Gac instantiated BI parent class .
The Method of a Child Class Overriding That of Its Parent >>
]TahrN_ 44
01: <?php
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 49
02: class Item
03: {
04: var $name;
05:
06: function Item( $name="item", $code=0)
07: {
08: $this->name = $name;
09: $this->code = $code;
10: }
11:
12: function getName()
13: {
14: return $this->name;
15: }
16: }
17:
18: class PriceItem extends Item
19: {
20: function getName()
21: {
22: return "(price)."$this->name;
23: }
24: }
25:
26: $item = new PriceItem( "widget", 5442 );
27: print $item->getName();
28: // outputs "(price) Angkor"
29: ?>
getName() method EdlbegáItenAkñúg PriceItem class enAbnÞat;TI 20 RtUv)anehA
edayeRbIR)as;nUv $name property rbs; parent class EdlenAcMnucenHeyIgKYrEteFVIkarsMerccitþ
begáItnUv $name property EdlmanenAkñúg Item class Ca private .
class Item
{
private $name;
// ...
}
karpøas;bþÚrnUv]TahrN_xagelIeFVIeGaylT§plmanPaBERbRbYldUcxageRkam-
lT§plEdlTTYl)anmuneBleFVIkarpøas;bþÚr KW (price) Angkor lT§plfµIEdlnwgTTYl)anKW (price) \LÚvenH PriceItem
class minGac access eTAkan; $name property eTot)aneT b:uEnþRbsinebI Child class RtUvkar access eTAkan;
methods b¤ property én ancestor classes eyIKYrEteRbInUv Protected keyword CMnYseGay private vij .
12. Calling an Overridden Method >
maneBlxøH function EdlmanenAkñúg parent class GacmanplRbeyaCn_sMrab;Gñk dUecñH
sMrab; Object-oriented-programmingGnuBaØatieGayGñk refer eTAkan; parent class edayeRbInUv
parent keyword . ]TahrN_xageRkamenH getName() method EdlzitenAxagkñúg PriceItem
Class nwg call nUv method enAkñúg Item class Edl)anRtUv override.
Calling an Overridden Method (PHP 5 Syntax) >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 50
]TahrN_ 45
01: <?php
02: class Item {
03: private $name;
04:
05: function __construct( $name="item", $code=0 ) {
06: $this->name = $name;
07: $this->code = $code;
08: }
09:
10: function getName() {
11: return $this->name;
12: }
13: }
14:
15: class PriceItem extends Item {
16: function getName() {
17: return "(price) ".parent::getName ();
18: }
19: }
20:
21: $item = new PriceItem ("widget", 5442);
22: print $item->getName();
23: // outputs "(price) widget"
24:
25: ?>
eyIg)aneFVIkarCamYynwg getName() method enAkñúg PriceItem class bnÞat;TI 17 .
PriceItem class mineFVIkarpÞal;CamYynwg $name property rbs; Item class enaHeT dUecñHenAcMnuc enHeyIgGac declare
$name property Ca private EdlmineFVIeGaymanplb:HBal;CamYynwg lT§plenaHeT
ehIyRbsinebIeyIgeRbIvaCamYynwg PHP 5 eTotenaH vaKWCakarGnutþn_d¾l¥ edIm,I Lock nUv methods nig property
rbs;eyIg .
13. Working with Constructors >
eyIgFøab;)aneXIjmkehIyfa constructor rbs; parent class nwgRtUv called edaysV½y
RbvtþiRbsinebI child class min)anbegáItnUv constructor sMrab;xøÜnvaenaHeT . eyIgnwgbEnßmnUv
Constructor method eTAeGay PriceItem class rbs;eyIgCamYynwg]TarhN_xageRkam .
]TahrN_ 46 Adding a Constructor to PriceItem
01: <?php
02: class Item
03 {
04: private $name;
05: function __construct( $name="item", $code=0 ) {
06: $this->name = $name;
07: $this->code = $code;
08: }
09: function getName () {
10: return $this->name;
11: }
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 51
12: }
13: class PriceItem extends Item
14: {
15: private $price;
16: function __construct( $name, $code, $price ) {
17: parent::__construct( $name, $code );
18: $this->price = $price;
19: }
20:
21: function getName() {
22: return "(price) ".parent::getName ();
23: }
24: }
25:
26: $item = new PriceItem ("widget", 5442, 5.20);
27: print $item->getName ();
28: // outputs "(price) widget"
29:
30: ?>
eyIg)anbegáItnUv constructor method enAbnÞat;TI16 edIm,ITTYl argument sMrab;
$name nig $codeRBmCamYynwg argument fµIsMrab; price. eyIg)aneRbIR)as; parent keyword
edIm,I call constructor rbs; Item class enAbnÞat;TI22 muneBlEdleyIgeFVIkarerobcMtMéleGay
$price property EdlenHbgðajeGayeyIgeXIjBIehtuplmYysMrab;eRbInUv syntax fµIrbs; PHP5 edIm,IbegáIt contructor .
parent::__construct( $name, $code );
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 52
ច្េច្ ៀនទ្យី ៧
enAelI internet (world wide web ) Form pøl;nUvlT§PaBeénkarbBa¢ÚnnUvBt’manBIGñk eRbIR)as;BI Client
eTAkan; Server . PHPRtUv)anrcnaeLIgedIm,IeFVIkarCamYynwgBt’manTaMgenaHenAeBlEdl HTML forms RtUv)an submit
.
1. User Input>
GñkR)akdCacg;eGaykmµviFIrbs;GñkmanskmµPaB b¤ TMnak;TMngCamYynwgGñkeRbIR)as;kñúgxN³eBlNamYy .
]TahrN_xaeRkamKWCakarbegáItnUv Form mYyedIm,ITTYlnUvBt’manBIGñkeRbIR)as;dUcCa first-name , last-name , date of
birth , email address nig password.
<html>
<head>
<title>Registration form </title>
</head>
<body>
<CENTER>
<h2>Registration Form</h2>
<hr width="50%">
<form method="GET" action="register.php" >
<table>
<tr><td>First-Name</td>
<td><input type="Text" name="txtFname"></td>
</tr>
<tr><td>Last-Name</td>
<td><input type="Text" name="txtLname"></td>
</tr>
<tr><td>Date of Birth</td>
<td>
<Select name="cboday">
<option value="01">01</Option>
<option value="02">02</Option>
<option value="03">03</Option>
</select>
<Select name="cbomonth">
<option value="01">Jan</Option>
<option value="02">Feb</Option> >
<option value="03">Mar</Option>
</select>
<Select name="cboyear">
<option value="1980">1980</Option>
<option value="1981">1981</Option>
<option value="1982">1982</Option>
<option value="1983">1983</Option>
</select>
</tr>
[
Form
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 53
<tr><td>E-mail</td>
<td> <input type="text" name="txtemail"></td>
</tr>
<tr><td align=right colspan=2> <input type="submit" value="Submit">
</td>
</tr>
<tr><td>Password</td>
<td> <input type="password" name="txtpwd" size=22></td>
</tr>
</table>
</body> </html>
enAbnÞat;EdleyIg)aneRbInUv form tage<form method="get" action="register.php">eyIg)aneRbInUv get method
EdlCa attribute dMbUgenAkñúg form tag . HTTP get method eFVIkarbBa¢ÚnTinñn½yBI form eTAtam URL
EdleFVIeGayTinñny½TaMgenaHGacbgðajenAelI address bar rbs; browser CaehtueFVIeGaylT§plEdl)anBI form
GacRtUvrkSarTukCa bookmark . GñkRbEhlCaRtUveRbI post method vijCakarRbesIrCag RbsinebIGñkcg;
eRbIR)as;nUv passwordBIeRBaH POST eFVIkarbBa¢ÚnTinñn½yEdlmanenAkñúg form eTAtam body én HTTP request dUcecñH
Tinñn½yTaMgenaHminRtUv)anbgðajeGayeXIjCamYy URL b¤ Ca bookmarked enaHeT .
edIm,I processes data BI form EdleRbI get method enAkñúg Script GñkGaceRbICamYy $_GET b¤RbsinebIGñkeRbI nUv post
method GñkGaceRbICamYy $_POST b¤ eRbI $_REQUEST GñkGaceRbI)as;)anTaMgBIr method.
]TahrN_ kareRbIR)as; get method enAkñúg script
register.php
<html>
<body>
<head>
<title>Personal Information</title>
</head>
<center>
<h2>Personal Information</h2>
<hr width=50%>
<?php
$fname = $_GET['txtFname'];
$lname = $_GET['txtLname'];
$day = $_GET['cboDay'];
$month = $_GET['cboMonth'];
$year = $_GET['cboYear'];
$dob = $day."-$month"."-$year";
print "<table>";
print "<tr>";
print "<td><b>First-Name :</b></td>";
print "<td> $fname </td>";
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 54
print "</tr>";
print "<tr>";
print "<td><b>Last-Name :</b></td>";
print "<td> $lame </td>";
print "</tr>";
print "</table>";
?>
</body>
</html>
xageRkamKWCalT§plEdlTTYl)anbnÞab;BI form RtUv)an submit edayeRbI get mehod . sUmBinitüemIlnUv address
bar rbs; browser EdlBt’manbBa¢ÚnmkenaH RtUv)anP¢ab;mkCamYynwg url
]TahrN_ 49 kareRbIR)as; post method enAkñúg script
register.php
<html>
<body>
<?php
$fname = $_POST['txtFname'];
$lname = $_POST['txtLname'];
print "<table>";
print "<tr>";
print "<td><b>First-Name :</b></td>";
print "<td> $fname </td>";
print "</tr>";
print "<tr>";
print "<td><b>Last-Name :</b></td>";
print "<td> $lame </td>";
print "</tr>";
print "</table>";
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 55
?>
</body>
</html>
Gñknwg)aneXIjBIPaBxusKñarvagkareRbIR)as;nUv post method nig get method enAelI Address bar rbs;
brower nimYy² . xageRkamKWCalT§plEdlTTYl)anbnÞab; BI form RtUv)an Submit edayeRbIR)as;nUv post method .
2. Accessing Form Input with User-Defined Arrays >
]TahrN_ 49 pþl;lT§PaBeGayGñkTTYlnUvBt’manBI HTML element Edl)an Submit
nUvtMélmYysMrab;Etelement mYyb:ueNÑaHEdlenHBMuTan;manlkçN³RKb;RKan;enAeLIyenaHeTRbsin ebIGñkcg;eFVIkarCamYynwg
multiple select .
]TahrN_ 50
01: <html>
02: <head>
03: <title>HTML Form with a 'select' Element</title>
04: </head>
05:
06: <body>
07: <center>
08: <h2>Multiple Select</h2>
09:
10: <hr width="50%">
11: <form action="multiple.php" method="POST">
12: <select name="products[]" multiple="multiple">
13: <option> Cocacola </option>
14: <option> Fanta </option>
15: <option> Sprite </option>
16: <option> Merinda </option>
17: <option> Pepsi </option>
18: </select><br><br>
19: <input type="submit" value="submit">
20:
21: </body>
22: </html>
eyIgnwgbegáIt script edIm,IEsVgrk input BI "products[]" form element EdlbegáItenAbnÞat;TI 12edaypþl;eQµaHCa array
indexed ehAfa products. products[]KWCa select element Edlpþl;eGaynUvCMerIssMrab;GñkeRbIR)as;edaykareRbI
option element enAbnÞat;TI 13 dl; bnÞat;TI 17eyIgnwgbgðajBIlT§plEdlGñkeRbIR)as;)aneRCIserIsBI form xagelI
EdlbegáItCa array enAkñúg ]TahrN_ 51
01: <html>
02: <body>
03: <head>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 56
04: <title>Reading Input from the form multiple select</title>
05: </head>
06:
07: <?php
08:
09: if ( is_array( $_POST['products'] ) )
10: {
08: echo "<b>Your products choice are :</b><br/>";
10: foreach($_POST['products'] as $val)
11: {
12: print "$val<br>";
13: }
14: }
15:
16 ?>
17:
18: </body>
19: </html>
enAbnÞat;TI 09 én ]TahrN_ 51 eyIgeFVIkarRtYtBinitüeTAelI $_POST['products'] Element RbsinebI
element enHCa array eyIgnwg loop ral;FatunimYy²rbs;vaenAbnÞat;TI 10 edIm,I bgðajCalT§pleTAkan; Browser .
Gñkk¾GacGnuBaØatieGayGñkeRbIR)as; eRCIerIsnUvCMerIseRcInedayeRbI check boxes EdlRtUvpþl;nUveQµaHdUc²KñasMrab;
element nimYy² ehIyP¢ab;CamYy empty brakets . PHP nwg compiles nUvGVIEdlGñkeRbIR)as;)an select eTACa array .
eyIgnwgeFVIkarpøas;bþÚrBIkareRbI select element enA]TahrN_xagelI mkeRbI check boxes vijdUcmankñúg]TahrN_ 52.
]TahrN_ 52
<html>
<head>
<title>HTML Form with a 'select' Element</title>
</head>
<body>
<center>
<h2>Multiple Select</h2>
<hr width="50%">
<form action="multiple.php" method="POST">
<input type="checkbox" name="products[]" value="Cocacola" />Cocacola
<input type="checkbox" name="products[]" value="Fanta" />Fanta
<input type="checkbox" name="products[]" value="Sprite" />Sprite
<input type="checkbox" name="products[]" value="Merinda" />Merinda
<input type="checkbox" name="products[]" value="Pepsi" />Pepsi
<br><br>
<input type="submit" value="submit">
</body>
</html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 57
multiple.php
]TahrN_ 52
01: <html>
02: <body>
03: <head>
04: <title>Reading Input from the form multiple select</title>
05: </head>
06:
07: <?php
08:
09: if ( is_array( $_POST['products'] ) )
10: {
08: echo "<b>Your products choice are :</b><br/>";
10: foreach($_POST['products'] as $val)
11: {
12: print "$val<br>";
13: }
14: }
15:
16 ?>
17:
18: </body>
19: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 58
ច្េច្ ៀនទ្យី ៨
1. What is MySql ? >
MySql KWCaRbePT Open Source Sql databases management system EdlmanRbCaRbiybMputsMrab;
kareRbIR)as; edayRtUv)anGPivDÆn_nigKaMRTeday MySQL AB . MySQL AB KWCaRkumh‘unEdlbegáIteLIg
edayRkumGñkGPivDÆn_ MySql .
1.1 MySQL is a relational database management system. >
A relation databases KWrkSaTuknUvTinñn½ykñúg table epSgBIKñaEdlmanlkçN³RbesIrCagkarrkSaTuknUvTinñn½yTaMg
Gs;enAkñúg storeroom d¾FMmYy ehIyviFIenHGacCYybegáInel,Ón nig manPaBgayRsYleRbIkan;EtRbesIreLIgCamYy
nwgTinñn½y . SQL KWCabMENkmYyén MySQL Edl eRbI CaBaküeBjfa “Structured Query Language” SQL
KWCaPasaEdleRbIR)as;Ca standard edIm,I access eTAkan; databases ehIyRtUv)ankMNt;eday ANSI/ISO SQL
Standard .SQL standard RtUv)anvivtþn_eLIgenAkñúgGMLúgqñaM 1986 EdlbegáIt)anCaCMnan;rbs; SQL-92
edaysMedAeTAelI SQL standard EdleFVIkardak;ecjnUvCMnan;rbs;xøÜnenAkñúgGMLuúgqñaM 1992 nig bnÞab;mkKW SQL-1999
nigeRkaymkeTotKW SQL-2003 .
1.2 MySQL software is Open Source. >
Open Source KWmann½yfaGñkeRbIR)as;manlT§PaBEkERbnUv software enaH)an ehIy GacTajyknUv
Software TaMgenaHenAelI Internet nigGaceRbIR)as;va edayminmankarbg;R)ak; eTAelIesvakmµGVITaMgGs; . MySQL
software eRbIR)as; GPL( General Public License ) edIm,Ipþl;eGayGñknUvGVIEdlRtUvkar nig GVIEdlGñkminRtUvkarcMeBaH
software enH . KWmann½yfa RbsinebIGñkminmanGarmµN_Tukcitþ CamYyniwg GPL b¤ Gñkcg;bgáb;nUvkUdeTAkñúg MySQL
edIm,IeFVICaCommercial application GñkGacTijnUvc,ab;GnuBaØatieGayeFVIBaniC¢kmµBIRkumh‘un MySQL Edl
Bt’manlMGitGñkGaceRbIR)as;nUveKhTMB½r (http://www.mysql.com/company/legal/licensing/) ។
2. SQL commands in mysql >
EpñkxageRkamnwgbgðajBIkareRbIR)as; SQL commands enAkñúg MySQL context .
RKb; commands TaMgGs;suT§Et)anTTYlsÁal;eday MySQL system kñúgGMLúgeBlEdl design SQL databases
environment . command rbs; MySQL nimYy²RtUvEtbBa©b;CamYynwgsBaØa Semicolon ( ; ) .
show databases KWCa command dMbUgEdleRbIedIm,IbgðajnUveQµaH database TaMgGs;EdlmanenAkñúg MySQL
kñúgenaHman database cMnYnBIrP©ab;mkRsab;CamYy MySQL package.
mysql> show databases; +----------+ | Database | +----------+ | mysql | | test |
[
MySql
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 59
+----------+ 2 rows in set (0.00 sec)
Database EdlmaneQµaHfa mysql pÞúknUv MySQL settings ehIynig users epSg² .sMrab;Ca]TahrN_
eyIgnwgbegáIt database mYyeQµaHfa BbuDb .
create database databaseName ;
syntax : mysql>create database BbuDb ; >
eyIgGacBinitüemIl database Edl)anbegáItxagelIedayeRbIR)as; show database command.
>mysql> show databases;
+------------+
| Database |
+------------+
| mysql |
| BbuDb |
| test |
+------------+
3 rows in set (0.00 sec)
edIm,Ilb;nUv database NamYyenaHGñkGaceRbI SQL command : drop database databaseNameGñkKYrRbugRby½tñpgEdr
cMeBaHkareRbIR)as; command enH BIeRBaHvanwgeFVIkarlb; database edayminmankarsaksYr b¤ eFVIkarbBa¢ak;BI
GñkmþgeToteLIy.SQL syntax EdleRbIedIm,IbegáIt table eyIgnwgbgðajCamYy]TahrN_xageRkam b:EnþmuneBlEdleRbI
command enHGñkRtUvEtkMNt;nUv database mYyeGayCak;lak;Camunsin edayeRbI command use:
mysql>use BbuDb ;. eyIgniwgeRbI command edIm,IbegáIt table Edlmanattributes dUcCa id , username , password ,
name nig email CamYynwg]TahrN_xageRkam .The general form of the syntax is:>
create table tableName ( col1Name datatype otherSettings, etc) >
>mysql> create table tblpeople ( id int(5) not null auto_increment ,
username varchar(20) binary not null, password varchar(20) binary not null, name varchar(20) not null, email varchar(30) not null, primary key(id)
); >
ral; attribute nimYy²suT§EtRtUv)ankMNt;nUvcMMnYntYGkSrEdlRtUvrkSaTukenAkñúg table ehIy fieldnimYy²én table
suT§EtTamTareGaymannUvtMélCanic© . cMENkÉ id attribute tMélrbs;vaniwgRtUvekIneLIgedaysV½yRbvtþienAeBl
EdlTinñn½yRtUv)anbBa©ÚleTAkan; tblpeople mYyelIk² .varchar KWCatMélEdleRbICatYGkSr b¤CatYelx cMENkÉ
binary eKeRbIedIm,IeFVIeGaytMél eTACa case-sensitive rIÉ name ehIy nig email attribute KWminRtUv)aneRbI binary
enaHeT dUecñHvaminmanlkçN³ case-sensitive eLIy . id KWRtUv)anbegáItCa primary key sMrab; table edIm,I
identify row nimYy²én table .
mysql> desc tblpeople ;>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 60
+----------+-------------+------+-----+---------+--------------+> | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+--------------+ | id | int(5) | | PRI | NULL |auto_increment | username | varchar(20) | | | | | password | varchar(20) | | | | | name | varchar(20) | | | | | email | varchar(30) | | | | +----------+-------------+------+-----+---------+--------------+
5 rows in set (0.01 sec)>
bnÞab;BImkeTotGñkGaceRbIR)as; insert command edIm,IbBa©ÚlTinñn½yeTAkñúg table .
]TahrN_³
mysql>insert into tblpeople values (null, 'muth', ' muth07 ', 'monen', ' [email protected] ');
mysql>insert into tblpeople values(null, 'lou', ' army ', ' lou cy ', ' [email protected] '); >
enAeBlEdl id attribute Ca auto_increment eyIgeRbI null sMrab;Ca data entry Edl null Value
minmanlkçN³dUcnwg blank (" ") enaHeT . id attribute cab;epþImedaytMélCa integer 1 ehIyvanwgeFVIkarbegáIntMél 1
énenAeBlEdlmankarbBa¢ÚlTinñn½yeTAkan; row fµImþg². GñkGacBinitüemIlBt’man TaMgGs;EdlmanenAkñúg
tablebnÞab;BI)anbBa©ÚledayeRbIR)as; SQL command mysql>select * from tblpeople ; > +----+----------+----------+------------+---------------------+ | id | username | password | name | email | +----+----------+----------+------------+---------------------+ | 1 | muth | muth07 | monen |[email protected] | | 2 | lou | army | lou cy |[email protected] | +----+----------+----------+------------+---------------------+ 2 rows in set (0.00 sec)
edIm,Ilb;nUv table NamYyecjBI database GñkGaceRbI command :mysql> drop table tableNamesMrab; command
EdleRbIedIm,Ilb; row BI table TamTareGayGñkpþl;nUveQµaHén table ehIynigwhere condition EdlbBa¢ak;BI row(s)
EdlnwgRtUvlb; .
delete from tableName where Where-condition
sUmRbugRby½tñRbsinebIGñkmineRbI where-condition enaHeT RKb; rows TaMgGs;EdlmanenAkñúgtable
nwgRtUvlb;ecalTaMgGs;. enAkñúg]TahrN_xageRkameyIgnwgeRbItMélrbs; attribute name nig username edIm,Ilb; row
ecjBI table tblpeople .
delete from tblpeople where name=’ monen ’ and username = ’ muth ’ ;>
UPDATE command RtUv)aneRbIedIm,IEkERbBt’manEdlmanenAkñúg table GñkGac select yk
Bt’manNamYymkEkERbBt’manedayminmankar)at;bg;nUv record b¤ row edImTaMgRsugeLIy .
The syntax is:
UPDATE table-name SET field1=‟val1‟, field2=‟val2‟, field3=‟val3‟…………
WHERE condition;
ex.
update tblpeople set password=’maco’ where username=’muth’ ;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 61
3. PHP/MySQL Functions >
3.1 Connecting to MySQL >
muneBlEdlcab;epþImeFVIkarCamYynwg database rbs;Gñk GñkRtUvEt connect eTAkan; Server Camunsin .
PHP pþl;nUv mysql_connect () function edIm,IGnuvtþn_nUvParkic©enH .
bMENkkUdxageRkamnwgbgðajBIkareRbIR)as; mysql_connect() P¢ab;eTAkan ; MySQL database Server .
$link = mysql_connect( "localhost", "root", "123" );
if ( ! $link )
{
die( "Couldn't connect to MySQL" );
}
3.2 Selecting a Database >
bnÞab;BI)anbegáIt connection edIm,IP¢ab;eTAkan; MySQL rYcral;ehIy GñkRtUvEteRCIerIsDatabase
NamYyedIm,IeFVIkarCamYyva edayGñkGaceRbIR)as;nUv mysql_select_db() function .
bMENkkUdxageRkameyIgnwg select yk database mYyEdlmaneQµaHfa BbuDb .
$database = "BbuDb"; >
mysql_select_db( $database ) or die ( "Couldn't open $database ); >
3.3 Adding Data to a Table >
\LÚvenHeyIgmanlT§PaBRKb;RKan;edIm,I access eTAkan; database ehIyeyIgGacbBa¢ÚlnUvBt’maneTAkan;
table én database . sMrab;Ca]ThrN_eyIgnwgeRbIR)as; table Edl)anbegáItenAkñúg database BbuDb EdlmaneQµaHfa
tblpeople .
Adding a Row to a Table >
01: <html>
02: <head>
03: <title>Listing 13.2 Adding a Row to a Database</title>
04: </head>
05: <body>
06: <div>
07: <?php
08: $user = "root";
09: $pass = " ";
10: $db = "BbuDb";
11: $link = @mysql_connect( "localhost", $user, $pass );
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 62
12: if ( ! $link )
13: {
14: die( "Couldn't connect to MySQL: ".mysql_error() );
15: }
16: print "<h2>Successfully connected to server</h2>\n\n";
17: @mysql_select_db( $db )
18: or die ( "Couldn't open $db: ".mysql_error() );
19: print "Successfully selected database \"$db\"<br />\n";
20:
21: $query = "insert into tblpeople(username , password , name , email )
22: values( ' ratana07 ', ' 1234 ', ' som ratana ', ' [email protected] ' )";
23: mysql_query( $query, $link )
24: or die ( "INSERT error: ".mysql_error() );
25:
26: mysql_close( $link );
27: ?>
28: </div>
29: </body>
30: </html>
sMrab;]TahrN_enHeyIgmin)anbBa©ÚltMéleTAeGay id column enaHeT eRBaH field enHCaRbePT
auto_increments . vaCakarBit ral;eBlEdleyIg reload script én]TahrN_xagelITinñn½ydEdlnwgRtUvbBa©ÚleTAkan;
row fµImYyeTotén table .
3.4 Adding User Input to a Database >
Registration.html
<html>
<head>
<title>Adding user input to a database</title>
</head>
<body>
<CENTER>
<h2> Adding user input to a databases </h2>
<hr width=550>
<form action="insert.php" method="Post">
<table>
<tr>
<td>Name :</td>
<td><input type="TextBox" size="18" name="txtname"/></td>
</tr>
<tr>
<td>UserName :</td>
<td><input type="TextBox" size="18" name="txtusr"/></td>
</tr>
<tr>
<td>Password :</td>
<td><input type="Password" name="txtpwd"/></td>
</tr>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 63
<tr>
<td>Email :</td>
<td><input type="TextBox" size="18" name="txtemail"/></td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="Submit" value="Submit">
</td>
</tr>
</table>
</body>
</html>
Inser.php >
01 <html>
02 <head>
03 <title>Listing 13.3 Adding user input to a database</title>
04 </head>
05 <body>
06
07 <?php
08
09 $username = $_REQUEST['txtusr'] ;
10 $name =$_REQUEST['txtname'] ;
11 $pwd =$_REQUEST['txtpwd'] ;
12 $email = $ REQUEST['txtemail'] ;
13 if ( ! empty($username) && ! empty( $name ) && ! empty($pwd )&&
14 !empty($emial) ) // check user input here!
15 {
16 $db = "BbuDb";
17 $link = @mysql_connect( "localhost", $user, $pass );
18 if ( ! $link )
19 {
20 die( "Couldn't connect to MySQL: ".mysql_error() );
21 }
22 @mysql_select_db( $db ) or die ( "Couldn't open $db: ".mysql_error() );
23
24 $query = " insert into tblpeople(username , password , name , email )
25 values( '" .$username. '", '" .$name. '", '". $pwd .'", '" .$email. '" )";
26 mysql_query( $query, $link ) or die ( "INSERT error: ".mysql_error() );
27
28 mysql_close( $link );
29 ?>
30 </body>
31 </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 64
eyIg)an select nUv database EdlpÞúk table eQµaHfa tblperson enAbnÞat;TI 22 ehIynwgbegáIt SQL query
edIm,IbBa©ÚltMélEdl)anmkBI user-submitted edaybBa¢ÚnBt’maneTAeGaymysql_query() enAbnÞat;TI 26 .
3.5 Accessing a Resultset >
GñkGacmanPaBgayRsYledIm,ITTYl)an array BICYr nimYy²én filds edaykareRbIR)as; CamYynwg mysql_fetch_row()
function . function enHtMrUveGayGñkpþl; result resource mYy ehIy vanwg return vijnUv row nimYy²EdlmanenAkñúg
field .
Listing All Rows and Fields in a Table
01: <html>
02: <head>
03: <title> Selecting Data</title>
04: </head>
05: <body>
06: <?php
07: $user = "root";
08: $pass = "1235";
09: $db = "BbuDb";
10: $link = mysql_connect( "localhost", $user, $pass );
11: if ( ! $link )
12: {
13: die( "Couldn't connect to MySQL: ".mysql_error() );
14: }
15: mysql_select_db( $db, $link )
16: or die ( "Couldn't open $db: ".mysql_error() );
17:
18: $result = mysql_query( " SELECT * FROM tblperson " );
19: $num_rows = mysql_num_rows( $result );
20:
21: print "<table border=\"1\">\n";
22: while ( $a_row = mysql_fetch_row( $result ) )
23 {
24: print "<tr>\n";
25: foreach ( $a_row as $field )
26: {
27: print "\t<td>".$field."</td>\n";
28: }
29: print "</tr>\n";
30: }
31: print "</table>\n";
32: mysql_close( $link );
33: ?>
34: </body>
35: </html>
bnÞab;BIeyIg)an connected eTAkan; database server ehIynwg selected database rYcral;eyIg )aneRbI mysql_query()
enAbnÞat;TI 18 edIm,IbBa¢Ún select statement eTAkan; database serverbnÞab;mkeyIgrkSarnUv return result resource
enAkñúg varible mYyeQµaHfa $result ehIyeRbIvaedIm,I TTYlykcMnYn row EdlmanenAkñúg table .
sMrab; test expression én while statement enAbnÞat;TI 22 eyIg)anpþl;nUvlT§plEdl)anBI
mysql_fetch_row() eTAeGay variable $a_row. zitkñúgtMeNIrkarrbs; while statement
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 65
eyIg)an loop nUv row array EdlpÞúkkñúg $a_row enAbnÞat;TI 25 ehIyeFVIkarbec©jnUvlT§plBIFatunimYy²
bBa¢ÚleTAkñúg table cell rYcRtUv)anbgðajeday web browser . Gñkk¾Gac accessFields
edayeRbIR)as;eQµaHrbs;vaeTAtamviFIsaRsþBIrya:gKW ³ mysql_fetch_row() va return Ca
Numerics array nig mysql_fetch_row() va return Ca associative array
CamYynwgeQµaHrbs;Fields edayeRbICa keys rbs; array. bMENkkUdxageRkameyIgnwgCMnYsbnÞat;TI 23-33
edaykareRbIR)as; mysql_fetch_array() CMnYsvij .
print "<table border=\"1\">\n";
while ( $a_row = mysql_fetch_array( $result ) )
{
print "<tr>\n";
print "<td>".$a_row['name']."</td>";
print "<td>".$a_row['username']."</td>";
print "<td>".$a_row['email']."</td>";
print "</tr>\n";
}
print "</table>\n";
müa:gvijeTotGñkGaccab;yk fields BICYrNamYymkeFVICa properties én object eday eRbI
mysql_fetch_object() enaHeQµaH field TaMgGs;nwgkøayCaeQµaHrbs; properties .
print "<table border=\"1\">\n"; >
while ( $a_row = mysql_fetch_object( $result ) )
{
print "<tr>\n";
print "<td>".$a_row->name."</td>";
print "<td>".$a_row->username."</td>";
print "<td>".$a_row->email."</td>";
print "</tr>\n";
}
print "</table>\n";
cMeBaHkareRbIR)as; mysql_fetch_array() nig mysql_fetch_object() TaMgBIrenHsuT§Et
pþl;nUvPaBgayRsYlsMrab;cab;yk Bt’manBI row NamYy. eTaHbICaya:gNak¾edayCaFmµta PaK eRcIneKniymeRbIR)as;
mysql_fetch_array() .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 66
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 67
ច្េច្ ៀនទ្យី ៩
1. Cookie>
cookie KWCaTinñn½yEdlrkSaTukeday user‟s browserEdlRbRBwtþeTA)anedaykar requestBI server b¤ script .
vaGacrkSaTuk)anRtwmEt 20 cookies nig TMhMpÞúkTinñn½y)anRtwm 4 kilobyte b:ueNÑaH ehIyral; cookie
nimYy²RtUvEtmannUv eQµaH tMél nig kalbriecäTQb;eRbIR)as;; .
bnÞab;BI cookieRtUv)an set manEt ma:sIunkMBüÚT½rEdl set nUv cookie enaHb:ueNÑaHeTIbGacmansiT§ read
nUvTinñn½yEdlmanenAxagkñúg)an b:uEnþk¾GaRs½yeTAelI user‟s privacy Edl userGaceFVIkar configure enAelI browser
rbs;BYkeK edIm,IeGay cookie TaMgGs; manlT§PaB set b¤ k¾bdiesFmineGaymankar request cookie . cookie
GacCaviFIsaRsþd¾RbesIrsMrab;rkSarTuknUvBt’manxøIBIGñkeRbIR)as; BI page mYyeTA page mYyeTot . .
Cookies rbs; PHP bBa¢ÚneTAkan; web server edayeRbIR)as; setcookie() function .RbsinebI cookie )an set
nUv time-out browser nwgeFVIkarcgcaMnUv cookie eTaHbICaGñk restartma:sIunk¾eday b:uEnþRbsinebIGñkmin)an set nUv time-
out sMrab; cookie enaHeT browser nwgbM)at;ecalnUv cookie enaHPøamenAeBlEdlGñk close browser.sMrab;Ca]TahrN
_eyIgnwg set cookie enAeBlEdl user bBa©ÚlnUv username nig password )anRtwmRtUvCamYynwg login form .
Auth.php <?php
class Auth
{
function Auth()
{
mysql_connect('localhost', 'root');
mysql_select_db('my_own_bookshop');
}
public function authUser($user , $password)
{
$q = ' SELECT username , password FROM tblpeople WHERE username="'. $user. '" AND
password ="'.$password. '"' ;
$r = mysql_query($q);
if (mysql_num_rows($r) == 1)
{ return TRUE; }
else { return FALSE; }
}
}?>
login.php >
<?
ob_start();
?>
<html>
<head><title>Login</title></head>
<body>
<?php
require("auth.php");
$auth = new Auth();
[
Saving State with Cookies and Session >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 68
if (isset ($_POST['login']) && ($_POST['login'] == 'Log in') &&
$auth->authUser($_POST['txtuid'] , $_POST['txtpwd'] ) )
{
$uid = $_POST['txtuid'];
/* User successfully logged in, setting cookie */
setcookie('uid', $uid, time() + 14400, '/');
header("Location: http://localhost/index.php");
exit();
}
else {
?>
<h1>Log-in</h1>
<form method="post" action="login.php">
<table>
<tr><td>User name :</td>
<td><input type='text' size='18' name='txtuid'/></td></tr>
<tr><td>Password :</td>
<td><input type='password' name='txtpwd'/></td></tr>
<tr><td colspan='2' align='right'>
<input type='submit' name='login' value='Log in'/></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
cMeBaH superglobal EdleRbIedIm,I read cookies KW $_COOKIE EdleyIgnwgGnuvtþn_vaCa mYynwg]TahrN_enAkñúg
file mYyeQµaHfa index.php .
index.php
<?php
if (isset ($_COOKIE['uid']) && $_COOKIE['uid'])
{
?>
<html>
<head><title>Index page</title></head>
<body>
Logged in with UID: <?php echo $_COOKIE['uid']; ?><br />
<a href='logout.php'>Log out</a>.
</body>
</html>
<?php
}
else {
/* If no UID is in the cookie, we redirect to the login .page */
header('Location: http://localhost/login.php');
}
?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 69
sMrab;kareRbIR)as user id rbs;eyIgenH KWvamanPaBcaM)ac;Nas; dUcCakarcg;caMsMrab;Authentication data
¬dUcEdleyIg)anGnuvtþn_enAkñúg script rbs;eyIg ) .b:uEnþvaminTan;CaKMnitEdlRtwmRtUvenaHeT BIeRBaH
GñkeRbIR)as;GacEkERb cookies TaMgenaH b¤ install tMélepSg²)aneTAtamGMeBIcitþ .
mantMeNaHya:gRbesIrmYysMrab;bBaðaenHKWkareRbIR)as; PHP Sessions EdleyIIgnwgGnuvtþn_enAkñúg]TahrN_eRkay
mYyeTot . edIm,I lb; cookie GñkRKan;EteRbIR)as; parameters dUcEdlGñk set cookie b:uénþGñkmincaM)ac;pþl;nUv value
sMrab; cookie enaHeT ehIy kalbriecäTQb;eRbIR)as;GñkRtUvpþl;eGayCakalbriecäTénGtItkal . enAkñúg logout page
eyIgnwglb; cookie edayeRbIviFI dUcxageRkam.
logout.php
<?php
setcookie('uid', '', time() - 86400, '/');
header('Location: http://localhost/login.php');
?>
time()-86400 KWCakalbriecäTEdlknøghYseTAmYyéf¶ nwgCakalbriecäTénGtItkal
edIm,IR)ab;eGay browser bM)at;ecalnUv cookie data enaH .
2. SESSIONS >
PHP session GnuBaØatieGay application rbs;GñkrkSarTukBt’manenAkñúgcurrent session
xN³eBlEdlGñkeRbIR)as;)an logged in eTAkan; application rbs;Gñk . session RtUv)ankMNt; eday session ID
EtmYyKt; PHP begáIt session ID eday MD5 hash én remote IP addressnig bEnßmnUvsBaØaepSg²eday random
eTAkñúg hexadecimal string . eyIgnwgsresreLIgvijnUv]TahrN_elIkmun EdleyIg)aneRbIR)as; cookie
mkCMnYsedaykareRbIR)as; session vij .
login.php
<html>
<body>
<?php
require("auth.php");
$auth = new Auth();
session_start();
if (isset ($_POST['login']) && ($_POST['login'] == 'Log in') &&
$auth->authUser($_POST['txtuid'] , $_POST['txtpwd'] ) )
{
$uid = $_POST['txtuid'];
$_SESSION['uid'] = $uid;
header("Location: http://localhost/index.php");
exit();
}
else
{
?>
/* HTML form comes here */
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNIC INSTITUTE OF BATTAMBANG PROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 70
<?php
}
?>
</body>
</html>
index.php >
<?php
if (isset ($_SESSION['uid']) && $_SESSION['uid'])
{
?>
<html>
<head><title>Index page</title></head>
<body>
Logged in with UID: <?php echo $_SESSION['uid']; ?><br />
<a href='logout.php'>Log out</a>.
</body>
</html>
<?php
}
else
{
/* If no UID, we redirect to the login page */
header('Location: http://localhost/login.php');
}
?>
logout.php
<?php
session_start();
$_SESSION = array();
session_destroy();
header('Location: http://localhost/login.php');
?>
eyIgenAEt initialize nUv session CamYynwg session_start() bnÞab;BIeyIgGac clear nUvsession )anedayeFVIeGay
$_SESSION subperglobal eTACa empty array bnÞab;mkeyIgeFVIkarDestroy session ehIynwg associate data edaykar
call session_destroy() function .
cMnaM ³ edIm,Ilb;ecjnUvFatuTaMgGs;rbs; session GñkRtUvEtpþl; empty array eTAeGay variableenaH .
Good Luck For You