PHP&SQL ជាភាសាខ្មែរ

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 70

សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ១ Introduction PHP

History
PHP RtUv)anpþl;eQµaHCapøvÚ kar HyperText Preprocessor vaCaPasaEdltMeNIrkarenAelI ServerEdlCa TUeTA
RtUv)an sresrkñgú bribT HTML b:Eu nþmni dUcCa HTML page FmµtaenaHeTPHP script minRtUv)anbBa¢Ún eTAeGay
client eday server pÞal;enaHeT vaeFVk I arbBa¢Úneday PHP engine . PHP code EdlzitenAkñgú script GaceRbIedIm,IeFVI
karCamYy Databases, begáItCarUbPaB ,Gan nigbBa©ÚlTinñny½ b¤ EkrERbGtßbTEdlmanenAxagkñgú files b¤ eFVIkar
TMnak;TMngeTAkan; Remote Server RBmCamYynwglT§PaBCaeRcInepSgeTot .
Rasmus Lerdorf KWCamnusSdMbUgEdlGPivDÆn_nvU 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þúnM Uv Perl scripts mkGPivDÆn_ enAkñúgGMLgú qñaM 1995 b:uEnþvaenAmankgVHxatCaeRcInenAkñúg
PasaenH dUcCa for loops CaedIm .
PHP/FI 2
enAkñúgqñaM 1997 Rasmus bnþkarGPivDÆn_nvU PHP/FI 2 rhUtmkdl;Ex vickäi a 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;Bk Y eK . BYkeK)aneGaydwgfa PHP/FI BMuTan;manlT§PaB
RKb;RKan;enAeLIyehIyxVHxatnUv lkçN³BiessCaeRcIn . cMncu mYyEdlmankarcab;GarmµN_CageK KW while loops
EdlBYkeKnwgRtUvRbtibtþi .
PHP 3>
Zeev and Andi sMerccits þ resr scripting language eLIgvijb:uEnþBvMu tþman RasmuscUlrYmedIm,IGPivDÆn_nvU
PHP3eLIyehIy)anpþln; vU eQµaHfµf I aHypertext PreprocessoredIm,IbBa¢ak;fa PHPKWCaplitplepSgmYyeTotehIynwg
minRtwmEtykmkeRbIsMrab;EtkargarpÞal; xøÜnenaHeT . Zeev and Andi k¾)anbegáItnUv Extension API Edl API
begátI fµIenHvamanlT§PaBbMeBjnUvkargarCaeRcIndUcCa Accessing databases , spell checkers ehIynwg bec©k
viTüadéT²eTot EdleFVeI Gaymankarcab;GarmµN_BsI MNak;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 .

By PREAP SAN PHP & MYSQL Page.. 1


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

PHP 4 >
enAeRkayqñaM 1998 Zeev nig Andi gakeTABitnitüelIkargar PHP 3 ehIyBYkeKmanKMnti faBYkeKGacsrsrnUv
script language eLIgvijeGaymanlkçN³l¥RbesIrCagmuneTAeTot kñg ú xN³eBlEdl PHP 3 kMBgu bnþkareFVIsm<n½ § nig
RbtibtþikarenaH PHP 4 k¾ cab;epþmI begáItnUvKMrfU µ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þfIsµ Mrab;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:Eu nþedaymankarpøas;bÚrþ enAkñgú PasaenHCabnþbnÞab;eTIb PHP 4 )anbegátI nUvCMnan;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;cgu eRkayrbs; 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ñgú CMnan; PHP 5 mancMncu CaeRcInEdlnwgRtUvEkERb bEnßm b¤ rMelaHecal .
PHP‟s minRtwmEtERbRbYledayGaceGayeRbIR)as;nUvlkçN³ Object-Oriented b:eu NÑaHenaHeT vaEfmTaMg pÞúknUvmux

garfµ²I CaeRcInEdlbBa©ÚlCamYymuxgarsMrab; XML ehIyCaBiessenaH KW SimpleXML extension EdleFVIeGay


manPaBgayRsYl kñgú karsRmbsRmYlCamYyÉksar XML nig SOAP b¤ MySQLi fµI ehIynwg extensions epSg²
eTotEdlCacMnucsMxan;enAkñgú PHP‟s . eKrMBwgfa PHP 5 nwgGackøayCaGñknaMmuxeK enAelITpI SarénkarGPIvDÆn_ web
.



By PREAP SAN PHP & MYSQL Page.. 2


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ២
Building Block
1.អថេរ (Variables) >
VariableKWCaRKwHd¾sMxan;sMrab;PasakMuBüÚTr½ vaRtUv)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ñny½ BI 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þln; vU eQµaHrbs;
variable CatYGkSr tMélelx b¤ underscore ( _ ) k¾b:uEnþGñkminGaceRbIGkSrdkXøaCamYyeQµaHrbs; variable enaHeT

.
]TahrN_ xageRkamKWCakarpþle; Qµ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 GaceFVkI arpøas;brþÚ RKb;eBlevla . CaTUeTAkarRbkasVariable b¤ karpþlt; éM leTAeGay
variable GñkGacGnuvtþn_nUv statement dUcxageRkam .
$num1 = 5;
$num2 = 8;
karRbkas variable BIr xagelIGkñ )aneRbIR)as;nUv assignment operator (=) Edlnwgerobrab;lMGitenAkñgú emeron “
Operator and Expression “ .bnÞab;BIGñk)anpþln ; UvtMéleTA variablerYcral;ehIy GñkGacykvamk eRbIR)as;)an
dUcxageRkam ³
print $num2; vamantMélesµnI gw kareRbI print 8; dUcecñHmann½yfa $num2 pÞúktMémø 8

cUrcgcaMfaral;cgu bBa©b;énr)aykarN_rbs; PHP nimYy²RtUvEtbBa©b;edaysBaØa ( ; ) semicolon.


2 Data Types >
RbePTxus²KñaénTinñn½yRtUv)aneRbIR)as;nvU cMnYnsrubrbs;GgÁcgcaMepSg²Kña ehIyvaGacRbRBwteþ TAenAeBlGñk
erobcMvaenAkñgú script rbs;Gñk . manPasakmµviFmI YycMnnY TamTareGayGñksresrkmµviFI RbkasnUvRbePT énTinñn½y

By PREAP SAN PHP & MYSQL Page.. 3


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

BImxu variable edayELksMrab;Pasa PHP kareRbIR)as; variable KWmanPaBgayRsYl edayvanwgeFVIkarKNna


nUvRbePTTinñn½yedaysV½yRbvtþei nAeBlEdlGñk)anpþlt; éM 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: ?>

By PREAP SAN PHP & MYSQL Page.. 4


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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 EdlCacMnnY Kt; b¤
GñkGacniyay)anfatMélelxEdlKµanek,ósdUecñHlTÞplEdlnwgTTYl)anbnÞab;BkI areRbIR)as;nUv gettype() function
bnÞat;TI12 KW // integercMENkkarpþln; vU tMé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ßti enAbnÞ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

nwgCMnsY nUvtMé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>

By PREAP SAN PHP & MYSQL Page.. 5


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

3.Displaying Type Information with var_dump() >


gettype() KWCa function EdleRbIedImI,TTYlnUvRbePT variable edayELk var_dump()

eRbIedIm,IR)ab;nvU RbePT variable nig cMnHu rbs;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
PHP pþl;eGaynUvviFIedIm,eFVkI arpøas;bÚrþ nUvRbePTTinñ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;

By PREAP SAN PHP & MYSQL Page.. 6


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

$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 KWCanimitµ sBaØaTaMLayNaEdlGñkGaceRbItMélmYy b¤ eRcIn begátI ecjCatMélfµImyY eTot
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µmI YyepSgeTot.
4+5>
4 ehIynig 5 KWCa operand EdlRtUv)an operated eday addition operator (+) edIm,IbegátI nUvtMélfµI KW 9 . karpþMúnvU
operand nig operator edIm,Ibegát I CalT§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; >

By PREAP SAN PHP & MYSQL Page.. 7


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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;BpI lEck ( Modulus ) 10%3 1

- dk ( Subtraction ) 10-2 2

5.3 The Concatenation Operator ( . ) >


Concatenation operator eRbIedIm,IP¢ab; string sMrab; operator mYyenHvaeFVk
I arCamYyEt string b:ueNÑaH .
dUecñHral; operand EdlminEmnCa string vanwg convert eGayeTACa string sUmBinitüemIl]TahrN_ ³
"hello"." world" karsresrEbbenHvaesµn I gw karsresr "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

By PREAP SAN PHP & MYSQL Page.. 8


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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þln; vU tMélRtlb;Ca Boolean (
.
true or false )

]TahrN_edIm,IRtYtBinitütMélEdlmanenAkñúg $x nigCatMélEdltUcCagR)aM GñkGaceRbICamYynwg less than

operator .
$x < 5
RbsinebI pÞúktMél elx 4 expression xagelInwgpþl;CatMél
$x 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

tMélxageqVg esµI tMélxagsþaM ehIy $x===5


=== Identical
tMélTaMgBIrRtUvEtmanRbePTdUcKña

> 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 .

By PREAP SAN PHP & MYSQL Page.. 9


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

5.6 Logical Operators

Logical Operators
Operator Name Returns True if... Example Result
true ||
|| Or Left or right is true True
false
true ||
Or Or Left or right is true true
false
true xor
Xor Xor Left or right is true but not both false
true
true &&
&& And Left and right are true false
false
true &&
And And Left and right are true false
false
! Not The single operand is not true ! true false

Logical operators bMElg operand eGayeTACatMél Boolean rYceFVkI areRbobeFobtMé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ánI 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.

By PREAP SAN PHP & MYSQL Page.. 10


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

Operator Name Effect on $var Value of the Expression

The previous value of


$var++ Post-increment $var is incremented by 1
$var

The new value of $var


++$var Pre-increment $var is incremented by 1
(incremented by 1).

The previous value of


$var-- Post-decrement $var is decremented by 1
$var

The new value of $var


--$var Pre-decrement $var is decremented by 1
(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ñgú kar RbtibtþikarkUdrbs;Gñk
GñkGaceRbIR)as;nUv constant . PHP )anpþl;nUv define() function edIm,I
begátI nUv constant .
define("CONSTANT_NAME", 42); >
By PREAP SAN PHP & MYSQL Page.. 11
សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

tMélEdlGñkGacpþle; TAeGay constant KWRtUvEtCa tMélelx b¤ tYGkSr ehIysMrab;kar


pþle; QµaHrbs; constant GñkKYrEteRbIGkSrFM . ralkar;eRbIR)as; constant variable GñkRKan;yk eQµaHrbs; constant

enaHmkeRbI b:Eu nþ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;téM lrbs; constant nig


GkSr "Welcome" BIeRBaH PHP engine minmanviFsI aRsþedIm,IEbgEck rvag constant nig string
EdlenAkñgú quotation mark enaHeT .
Ca Default constant KW case sensitive b:uEnþGñkGacpøas;brþÚ edayTTYlyknUv 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 edayminmankarxVayxVlG; MBIGkSrtUcb¤FMeLIy .
print User;
print usEr;
print USER;

]TahrN_ 7
constant2.php
<html>
<head>
<title>Defining a constant</title>
</head>

By PREAP SAN PHP & MYSQL Page.. 12


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

<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>

By PREAP SAN PHP & MYSQL Page.. 13


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៣
[[[[[[[

Going With The Flow

1. The if Statement
If statement KWCaviFsI aRsþEdleRbIedIm,IRtYBinitüeTAelIkarRbtibtþikarrbs; statement EdlenAbnÞab;va
( GacCa single statement b¤ Ca block of code EdlzitnUvkñg ú sBaØa {-------} )
If statement eFVk
I arvaytémø expression EdlenAkñgú sBaØa (---) RbsinebI expression rbs; ifpþlt; éM l true enaH
statement EdlenAxaeRkamnwgRtUvGnuvtþn_ .

kUdxageRkambgðajBI TMrg;én if statement EdlRtYtBinti ü expression Ca string .


if(expression)
{
// code EdlnwgRtUvGnuvtþn_enAeBlEdl expression pþlt; éM 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þlt; éM l true ehIy code block nwgRtUvGnuvtþn_buE: nþRbsinebItMélrbs; $user
bþÚreTACa "Romchong" b¤ tMélrbs; $pwd bþÚreTACa "124" ehIytMeNIrkar scripteLIgvij enaH
expression EdlenAkñúg if statement niwgpþl;téM l falseehIyCode block nwgminRtUvGnuvtþn_ Edl

script nwgEbreTAGnuvtþn_nUv else statement CMnsY vij .


else
print "Login fail !";

By PREAP SAN PHP & MYSQL Page.. 14


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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þlt; émø true
}
else if ( another expression )
{
// codeEdlRtUvGnuvtþn_ RbsinebI expression dMbUgpþlt; émø false
// ehIy expression rbs;va true
}
else
{
// code EdlRtUvGnuvtþn_ RbsinebIBMuman expression NamYy true
}
RbsinebI expression dMbgU minpþl;nUvtMél true enaH block of code dMbgU k¾minRtUv)an Gnuvtþn_Edr else if
cab;epþmI eFVIkarCamYy 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;brþÚ lMdab;énkarGnuvtþnk
_ Udrbs;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þlt; éM 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;

By PREAP SAN PHP & MYSQL Page.. 15


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

default:

// kUdnwgRtUvGnuvtþnR_ bsinebIminman expression NadUcnwg expression rbs; case


}

Expression rbs; CaTUeTARtUv)aneRbICa variable ehIy coderbs; switch statement


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þRbsinebIBmMu an 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";
}

?>

By PREAP SAN PHP & MYSQL Page.. 16


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

</body>
</Html>

3. Loops >
Loop statement GaceGayGñkGnuvtþnn_ Uvkargarmþ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þlt
; éM 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 .

By PREAP SAN PHP & MYSQL Page.. 17


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

do
{
………………………
// code to be executed
………………………
}
while (expression);
Test expression én do...while statement RtUvEtbBa©be; day ( ; ) 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>

By PREAP SAN PHP & MYSQL Page.. 18


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

<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þmI RtYtBinitüeTAelI expression rbs;xønÜ RbsinebI expression pþlt; éM lTrue enaH code block nwgRtUvGnuvtþn_
bnÞab;mk $i variable eFVkI arbegáIntMélmYyehIy testExpression cab;epþImeFVIkarRtYtBinti üeTAelI expression
rbs;xønÜ sarCafµImgþ eTot. RbtibtþikarenHbnþkarGnuvtþn_rhUtdl; test expression pþlt; éM 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:

By PREAP SAN PHP & MYSQL Page.. 19


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

20: </div>
21: </body>
22: </html>

eyIg)aneRbIR)as;nvU if statement enAbnÞat;TI 13 edIm,IRtYBinitünUvtMélrbs; variable$counter


RbsinebItéM 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;teM NIrkarrbs; iteration EdlkMBugGnuvtþn_ bu:EnþminbBaÄb; tMeNIrkarrbs; loop

TaMgRsugenaHeT vanwgbnþeFVkI arCamYy 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 .

By PREAP SAN PHP & MYSQL Page.. 20


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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>

By PREAP SAN PHP & MYSQL Page.. 21


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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>

By PREAP SAN PHP & MYSQL Page.. 22


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៤
Function

1.What is Functions ?
Function KWCabnþúéM n block code EdlGñkbegátI ehIyGnuBaØatieGayGñkehA ykmkeRbI enAkñúg script rbs;Gñk
. enAeBlEdlGñkehA function kUd EdlenAxagkñgú nwgRtUvGnuvtþn_ ehIyGñkk¾Gac bBa¢nÚ tMé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;BIBrI eLIgeTA 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>

By PREAP SAN PHP & MYSQL Page.. 23


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

</html>
lT§plEdlbgðajenAelI browser KWCa string éntYrGkSr 1+2+3+…………+10 = 55]TahrN_xagelIenHKW
CakarbegátI nUv 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;Gk ñ GaceFVkI arpøas;bÚþrtMélEdlGñk)anpþl;eGayb¤ maneBlxøHGñknwgcg;eGay function
pþl;nUvtMélfµIeGayGñk bnÞab;BIGñk)anpþlt; éM leTA»óva.
Function mYyGacTTYl)antMéledaykareRbIR)as; nUv returnstatement CamYynwgtMélEdlRtUvbBa©ÚnRtlb;

eTAkan; function. return bBaÄb;Rbtibtþikarrbs; function ehIy bBa¢nÚ tMélRtlb; eTAvijenAeBlEdl function
RtUv)anehAmkeRbI .xageRkamKWCa]TahrN_énkarbegáIt function Edl return tMélBI plbUlcMnnY BIrtMé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: {

By PREAP SAN PHP & MYSQL Page.. 24


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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 cMnnY BIrEdlCatMélelx 3 nig elx 5
EdltMélTaMgenHRtUv)anrkSaTukenAkñúg variable $num1 nig $num2addNums function eFVkI arKNnanUvplbUként
MélEdlrkSaTukenAkñúg variable TaMgBIrehIypþlC; alT§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:eu NÑ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þIBkI arbegáIt variable mYyenAkñúg function ehIyBüayamykVariable enaHmkbgðajelI


browser BI eRkA function .

cMNaM ³ VariableEdlbegátI enAxagkñ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átI enAxageRkA functiontest() enaHeT . KYrcMNaMfa karyk variable
Edlminman mkeRbIR)as;KWminmanPaB error eLIy.müa:gvijeTot variable EdlRbkasenAxageRkA function
KWminGacykmkeRbIkúgñ function edaysV½yRbvtþei naHeT .
By PREAP SAN PHP & MYSQL Page.. 25
សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

2.1 Accessing Variables with the global Statement


maneBlxøHGñkRbEhlCaRtUvkareRbIR)as; variable enAkñúg function rbs;GñkedayBMtu rM vU
eGaymankarbBa¢ÚntMéltam argument enaHeT . xageRkamKWCa]TahrN_EdleRbIR)as;nUv
global statement edIm,IeRbIR)as;nvU 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_T2I 3 eyIg)aneRbIR)as;nvU global BImxu 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Úrþ tMélrbs;xøÜnTaMgGs;enAkñúg script rbs;Gñk .Gñkk¾GacRbkas variable CamYy global statement
)aneRcInkñgú eBlEtmYy)anpgEdr edaykarEcknUv variable nimYy²edaysBaØa ¬,¦ comma.
]TahrN_ ³ global $var1, $var2, $var3;

By PREAP SAN PHP & MYSQL Page.. 26


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៥ Array

1. What Is an Array?
Gñkk¾)ansÁal;rYcmkehIyGMBI variable EdlRtUveKeRbIedIm,IpúÞknUvtMélepSg² . edaykareRbIR)as; variable
Gñkk¾GacbegátI Ca script eGayRbtibtþikar b¤ bgðajCaBt’manepSg²enAral;eBlEdlGñktMeNIrkarva b:Eu nþ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þmI BIelx 0 . ehtuG)VI anCaRtUveRbIR)as; array ?
RbsinebIGñkmantMélcMnYn 5 EdlRtUvrkSarTuk enaHGñkR)akdCaRtUvbegáIt variable cMnYnR)aMpgEdrArray KW flexible
eRBaHvaGacpÞkú tMél)anBIr b¤ BIrry tMél edayBMumankaregátI nUvvariablefµeI TotehIy 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 EdlmanFatuT4I
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þln; vU lT§PaBedIm,IerobcMnvU 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>
vamansar³RbeyaCn_enAeBlEdlGñkcg;pþl;tMéleRcIneTAeGay array kñgú eBlEtmYy.
array()construct

xageRkamKW]TahrN_énkarbegátI array mYyEdlmaneQµaHfa $users ehIyeyIg)anpþl;tMélCa string cMnnY bYn


tMéleTAeGayva .
$users = array ("Sok", "Sao", "Mata", "Mesa");
\LÚvenHGñkGacykFaturbs; $users mkeRbIR)as;edaykareRbIR)as; index rbs; array
print $users[2];

By PREAP SAN PHP & MYSQL Page.. 27


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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þei TAeGay array . müa:gvijeTotGñkk¾Gacdak;nUvtMélCa index rbs;
array )anpgEdr b:uEnþminmankarKaMRTeGayeFVEI bbenHenaHeTsUmBint
i üemIl karsresrkUdxageRkam³
$users[0] = "Phanit"; >
$users[200] = "Ratana";
Array xagelImanFatuRtwmEtBIrb:eu NÑaH b:uEnþ index cugeRkayrbs;vaKWCa index TI200 PHP nwgminkMnt
tMélFatueTAeGay index EdlenAcenøaH enaHeLIy EdleFVeI GaymankarPan;RcLMenAeBlEdlcg;BüayamykFatu
Edlmankñgú array enaHmkeRbI xN³eBlEdlGñkcg;eRbInUv Faturbs;va NamYyeTAtamcitþrbs;Gkñ . 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þln


; vU
arguments cMnn Y 3sMrab; function enH TI1KWCatMél index Edlcab;epþIm

By PREAP SAN PHP & MYSQL Page.. 28


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

TIBIKWCa cMnYnFatuEdlGñkcg;)an ehIy argument TI3 KWCatMélEdlGñkRtUvpþle; GayCaFaturbs;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 brakets Gñ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ñkKYrEteRbInvU 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"; >

By PREAP SAN PHP & MYSQL Page.. 29


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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þlt; éM léncMnnY srubrbs;Fatu array minEmnCatMélén index cugeRkayenaHeT .
]TahrN_xageRkamenHKWkarbegáIt array edaykarpþln; vU index eTAeGay array edayxønÜ Gñk
$users[35] ="Sok";
$users[52] ="Som";
$users[890] ="Mom";
$users[52]="Mab";
count() enAEtpþln; vU cMnnY srubénFatu array dEdl KWmancMnYn 4 Fatu . ehIyGñkk¾GacTTYlnUv
Faturbs; array cugeRkay)anedaykareRbInUv end() function EdlTamTarRtwmEt argument
mYy b:eu NÑaH . ]TahrN_ print end($users);
6. Looping Through an Array >
foreach statement KWCaviFIsaRsþmYyya:gRbesIredIm,I loop ral;Fatunimy
Y ²EdlmanenA kñgú array .
GñkGaceRbIR)as;nUv foreach statement dUcxageRkam ³
foreach( $arr as $temp )
{
//...>>>>>>>>>>
}>

By PREAP SAN PHP & MYSQL Page.. 30


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

$arr KWCa array EdlGñkRtUv loop ehIy $temp KWCa variableEdlGñknwgRtUvrkSarTukCabeNþaHGasnñ nUvFatunimYy²
kñgú RKa loop . kUdxageRkamKWCakarbegáIt array mYyehIyeyIg eRbI foreach statement edIm,IykFatunmi Yy²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>

By PREAP SAN PHP & MYSQL Page.. 31


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

6.1 Looping Through an Associative Array


edIm,IeRbIR)as;nvU foreach statement CamYy assosciat array TaMg keys nig values GñkGaceRbIR)as;CamYynwg
foreach statement dUcxageRkam ³

foreach( $arr as $key=>$value ) >


{
//... >>
}

$arrKWCa 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úg
ñ RKa 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>
Edl)anbegátI enAbnÞat;T1I 1 ehIyeRbIR)as;nUv foreach statement enAbnÞat;TI 15
Array

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Þkú enAkñgú variable Edlpþl;eQµaHfa $val
ehIyRtUv)anbgðajCalT§pleTAkan; browser enAbnÞat;TI 17 .

By PREAP SAN PHP & MYSQL Page.. 32


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

7. Joining Two Arrays with array_merge() >


array_merge() mantYnaTIpÁMúnvU Faturbs; array BIr b¤ array eRcInbBa¢ÚlKña rYcpþlC; a Array
fµmI YyeTotEdlCabnþúéM nFatu array TaMgGs;enaH. ]TahrN_xageRkamKWCa]TahrN_énkarbegátI nUv array BIr KW
array $arr1 nig array $arr2 ehIyeFVIkarbBa©ÚlKñarvagFatuén array TaMgBIrrYcpþlt ; Mé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Þkú nUvral;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¢nÚ eTACa argument dMbgU nwgRtUvERbRbYl ehIy array_push() nwg pþl;mkvijnUvtMélsrubTaMgGs
;EdlmanenAkñgú array enaHvij .

By PREAP SAN PHP & MYSQL Page.. 33


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

]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 cMnnY bIFatu Edl)anmkBIkareRbIR)as;nvU array_push() function
dUecñH $arr1 pÞkú nUvtMélsrubcMnYn 6 FatuehIyRtUv)anbgðajnUvFatunmi Yy²eTAkan; browser edaykUdEdlmanenAkñúg foreach
statement .

cMNaM³ eyIg)aneRbInvU backslash eBlEdl print Ca string "------\$arr1" enAbnÞat;TI 10


RbsinebIGñkeRbInUv nimitsþ BaØ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 ehIyCaFatudMbgU eTotenaH GñkGaceRbIR)as;CamYynwg


array_unsift() .

]TahrN_ 31
<html>
<head>
<title>Using array_unsift() </title>
</head>

<body>
<h2>Using array_unsift()</h2>

<?php

By PREAP SAN PHP & MYSQL Page.. 34


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

$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() mantYnaTIykecjnUvFatuTImy
Y é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/>";
}

?>>

By PREAP SAN PHP & MYSQL Page.. 35


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

</body>
</html>

10. Slicing Arrays with array_slice()


array_slice()GnuBaØateGayGñkTajykcMnYnénFatu array EdlTamTareGayGñkpþln; vU
argument cMnYnbI TImYyKWCa array variable TI2CaTItaMEdlRtUvcab;epþImyk nigTIbI KWCacMnnY Fatu rbs; array
EdlRtUvkarehIy argument TIbIenHKW (optional) RbsinebIGñkmineRbInvU 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átI enA]TahrN_ 33 nwgbgðajnUvlT§pl 'c', 'd', nig 'e' EdlCaFaturbs;


$secend bnÞab;BIeRbInvU 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,IteM robFatuTaMgenaHBI A-Z b¤ BItUceTAFM rYcbgðajCalT§pleTAkan; Browser .

By PREAP SAN PHP & MYSQL Page.. 36


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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þrÚ nUvlMdab;énkartMerobFaturbs; array BIldM ab; tUceTAFM b¤ BIldM ab;FM eTAtUcvijedaykareRbInUv


rsort(). sUmkMuBüayameRbI sort()b¤ rsort() CamYy associate array BIeRBaH vanwgeFVIeGayGñk)at;bg;nvU 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 )


{

By PREAP SAN PHP & MYSQL Page.. 37


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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¤ BIFeM TAtUc GñkGaceRbIrnUv arsort() .


11.3 Sorting an Associative Array by Key with ksort() >
ksort() TTYlnUv argument EdlCa associate array ehIyeFVk I artMerobtMél rbs;va nimYy²eTAtamlMdab;BI A-
Z b¤ Caelx BIFeM TAtUc 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>

By PREAP SAN PHP & MYSQL Page.. 38


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

Gñkk¾Gacpøs;bþrÚ lMdab;énkartMerob BIFMeTAtUv b¤ BI Z-A vijedayeRbI krsort() .

By PREAP SAN PHP & MYSQL Page.. 39


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៦
[[

Object

1. What Is an Object ?
Object KWCa bNþéúM n variables nig functions EdlzitenAkñúg template BiessmYyEdl eKehAfa class .
object lak;nvU tMeNIrkarEdlmanenAxagkñg ú BIkareRbIR)as;va edaypþlC; a Interface sMrab;eGayGñkbBa¢nÚ nUv
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þri bs; object-oriented code KWpþl;nUvkarkat;bnßykarsresrkUd dEdl²BIeRBaH class Edl)an


begátI 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átI 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ñkGMBIGEVI dlGñkkMBgu EteFVIkarCamYy .
3. Object Properties
Object Edl access eTAkan; special variable RtUv)aneKehAfa properties . GñkGacRbkasnUv special
variable TaMgenaH)anenARKb;Tk
I EnøgTaMgGs;én class b:uEnþedIm,IeGaymanPaBgayRsYlGñkKYrEtRbkas;vaenAxagelI .
sMrab; property mYyvaGacCa value b¤ Ca array b¤ CaObject epSg² .
class Person >
{
var $name = "Vichet"; >
} >
By PREAP SAN PHP & MYSQL Page.. 40
សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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átI KWmanpÞkú nUv property mYy EdleGayeQµaHfa $name
CamYynwgtMélrbs;vaKW "Vichet" . GñkGac access nUv property enH BIxageRkA object

nigeFVIkarpøas;bÚrþ tMé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þln; vU tMé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: ?>

By PREAP SAN PHP & MYSQL Page.. 41


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

dUcEdlGñk)anCYbRbTHmkehIyGMBI method én]TahrN_ 37 EdlemIleTAvamanlkçN³dUcKñaeTAnwg


function FmµtaEdr . GñkGac call object method edaykareRbIR)as;nimt i þsBaØa ( -> ). method Edl)an access
eTAkan; member variables én class xagelI)an return nUv string "Ratana" EdlenHminEmnCakarGnuvtþnE_ dlRtwmRtUv
enaHeT method KYrEt return tMélEdl copy BI $name property nwg minEmnCa string literal.
Gñkk¾)ansÁal;rYcmkehIyGMBIkaraccess a property BIxageRkA object b:Eu nþetIRtUveFVyI a: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átI kñúg]TahrN_ 39 eyIg)aneRbIR)as;nvU 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ñkGaceFVkI arerobcMnUvtMélrbs; $name
property dUcEdl)anGnuvtþn_enAkñg ú ]TahrN_ 39 b¤ GñkGacbegáItCamethod sMrab;eFVkI arCamYyvadUcmanbgðajkñúg
]TahrN_ 40 .

By PREAP SAN PHP & MYSQL Page.. 42


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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þmI edaytMél string "tepy"enAbnÞat;TI12 b:uEnþbnÞab;BI setName() method
RtUv)anehAenAbnÞat;TI 26 tMélrbs;vaRtUv)anbþrÚ eTACa "darya" vij . Object KWmanlT§PaBpøas;bÚrþ nUv property
rbs;xønÜ Ég)an ehIysMrab;karbBa¢nÚ nUv 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Úrþ tMélrbs; $name
property müa:gvijeTot karpþl;nUvtMéltMbg U sMrab; $name property enAkñúg Class KW hard-code .var $name = "tepy";
> RbsinebIeyIgKitfa $name property pÞkú nUvtMélepSg²Kña ral;eBlEdl instance én Person class
eyIgGaceFVeI Gaykan;EtRbesIrCagmunedaykar set $name property enAeBlEdl Object RtUv)an initialize.
eyIgGaceRbIR)as; special function EdleKeGayeQµaHfa constructor edIm,I set properties

By PREAP SAN PHP & MYSQL Page.. 43


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

nigbMeBjkargarepSg²eTAtamtMrvU karénkargar. constructor KWRtUvehAeday sVy½ RbvtþienAeBlEdl object RtUv)an


instantiated edaykareRbIR)as; new keyword .

GñkGacbegáItnUv constructor tamviFsI aRsþBrI ya: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>

By PREAP SAN PHP & MYSQL Page.. 44


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

Person() constructor method bnÞat;T1I 4KWRtUv)anehAedaysV½yRbvtþei nAeBlEdleyIgInstantiate nUv Person


object bnÞat;T2I 9 eyIgk¾)anerobcMnUvtMél default mYyCa string "tepy" pþl;eTAeGay parameter pgEdr
vaKWCakarCMnYseGay xN³EdleyIgmin)anpþlC; a argument enAeBlEdleyIgbegáIt Object.
PHP 5 )anbgðajnUv syntax fµmI YyedIm,IbegáIt constructor methods edayCMnsY eGaykareRbIR)as;nUv function
EdlmaneQµaHdUc class mkCakareRbI special syntax fµKI W__construct()dUecñHeyIgGaceFVkI arpø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ðaGVeI TkñúgkarGnuvtþn_EbbenH? vaminmanCabBaðakñg
ú kareRbI
R)as;nvU Public accessible properties enaHeT Edl CaTUeTA vaCakarGnuvtþns_ Mrab;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"

By PREAP SAN PHP & MYSQL Page.. 45


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

28: print "<br />";


29: $person->name = "makara";
30: ?>
PHP 5 pþl;nvU viFIsaRsþepSgedIm,I declare nUv properties rbs;eyIgedaykarCMnYsnUv Var keyword mkeRbInUv
keywords fµm I Yykñgú cMeNam keyword TaMgbI EdlmanlkçN³ Rsedog eTAnwg programming Java eyIgnwgbgðajBIkar
declarenUv property fµeI nHenAkñg
ú taragxageRkam
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 CMnsY eday var

keyword vij .
ex.
private $name; >
private $pid; >

\LÚvenHkarBüayampøas;brþÚ nUvtMé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;nvU setName() method edIm,IeFVkI arEkERbeTAelItMélrbs; $name property .
maneBlNamYyGñkRbEhlCacg;eGay child classes Gac accsess eTAkan; property
EdlenAkñgú eBlenaHGñkKYrEteRbInUv protected keyword eRBaHvaGnuBaØateGayGñk accesse vaBClass EdlGñk)an
derived ehIyeyIgnwg)aneXIjvaenAkñg ú Epñ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átI nUv method
sMrab; $personStr property BIeRBaHral;tMeNIrkarTaMgGs;rbs; $personStr RtUv)anpÞúkenAkñgú setName() method .
function setName( $n )
{

By PREAP SAN PHP & MYSQL Page.. 46


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

$this->name = $n;
$this->$personStr=$this->name." ".$this->pid;
> }

GñkRbEhlCaRtUvkarnUv method edIm,I reset nUv string rbs; $personStr dUecñHeyIgnwgbegátI nUv
Method fµm
I YysMrab; 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»ó Tinnñ y½ rbs;eyIgmankarBi)ak RKb;RKg . eyIgcg;eGayRtwmEt object
EdlCaGñkbegáItnUv property EtmYyKt;EdlmansiT§ Access mk kan; property enH enAkñúgCMnan;rbs; PHP 5
eyIgGacpþln; vU lkç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:eu NÑaH dUecñHRbsinebIGñkBüayam

eRbInUv keyword TaMgbIenHCamYy PHP 4 enaH script rbs;GñknwgRtUvbraC½yTaMgRsug .


10.Inheritance >
edIm,IbegátI class mYyEdlGac inherits function BI parent class eyIgRbEhlCaRtUvEkERbnUvkar declare class
rbs;eyIgbnþicbnþÜc . ]TahrN_fIµxageRkamenH KWCakarbegßItnUv Item Class ehIynig begßtI nUv inheriting class
Edlpþle; Qµ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: {

By PREAP SAN PHP & MYSQL Page.. 47


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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átI nUv class mYyeTotEdlmaneQµaHfa PriceItem enAbnÞat;TI 21 . KYrcMnaM
fa extends clause EdleRbIR)as;enAxagkñgú kar 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átI nUv Constructor method sMrab; PriceItem class dUecñHetI $name property
vaGaceFVIkarpøas;prþÚ tMél BI default "item" eTACa "Angkor" edaybBa¢nÚ eTAtam PriceItem )any:agdUcemþc ?
BIeRBaHeyIg
BM)u 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
ehAedaysVy½ RbvtþienAeBlEdl child object cab;epþmI bgá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

By PREAP SAN PHP & MYSQL Page.. 48


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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átI enAkñgú PriceItem class enAbnÞat;TI 20 RtUv)anehA
edayeRbIR)as;nUv $name property rbs; parent class EdlenAcMnucenHeyIgKYrEteFVIkarsMerccitþ
begátI nUv $name property EdlmanenAkñúg Item class Ca private .
class Item
{
private $name;
// ...
}
karpøas;bþrÚ nUv]TahrN_xagelIeFVIeGaylT§plmanPaBERbRbYldUcxageRkam-
lT§plEdlTTYl)anmuneBleFVIkarpøas;bÚrþ KW (price) Angkor lT§plfµEI dlnwgTTYl)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 eyIKYrEteRbInvU Protected keyword CMns


Y eGay 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) >

By PREAP SAN PHP & MYSQL Page.. 49


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

]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)aneFVkI arCamYynwg getName() method enAkñúg PriceItem class bnÞat;TI 17 .
PriceItem class mineFVk I arpÞal;CamYynwg $name property rbs; Item class enaHeT dUecñHenAcMncu enHeyIgGac declare
$name property Ca private EdlmineFVIeGaymanplb:HBal;CamYynwg lT§plenaHeT
ehIyRbsinebIeyIgeRbIvaCamYynwg PHP 5 eTotenaH vaKWCakarGnutnþ d_ ¾l¥ edIm,I Lock nUv methods nig property
rbs;eyIg .
13. Working with Constructors >

eyIgFøab;)aneXIjmkehIyfa constructor rbs; parent class nwgRtUv called edaysVy½


RbvtþRi bsinebI 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: }

By PREAP SAN PHP & MYSQL Page.. 50


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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átI nUv constructor method enAbnÞat;TI16 edIm,ITTYl argument sMrab;
$name nig $codeRBmCamYynwg argument fµs I Mrab; 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µrI bs; PHP5 edIm,IbegáIt contructor .
parent::__construct( $name, $code );

By PREAP SAN PHP & MYSQL Page.. 51


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៧
[

Form

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;TnM gCamYynwgGñkeRbIR)as;kúñgxN³eBlNamYy .
]TahrN_xaeRkamKWCakarbegáItnUv Form mYyedIm,ITTYlnUvBt’manBIGkñ eRbIR)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>

By PREAP SAN PHP & MYSQL Page.. 52


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

<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)aneRbInvU form tage<form method="get" action="register.php">eyIg)aneRbInvU get method
EdlCa attribute dMbgU enAkñúg form tag . HTTP get method eFVkI arbBa¢nÚ Tinñn½yBI form eTAtam URL
EdleFVIeGayTinnñ y½TaMgenaHGacbgðajenAelI address bar rbs; browser CaehtueFVeI GaylT§plEdl)anBI form
GacRtUvrkSarTukCa bookmark . GñkRbEhlCaRtUveRbI post method vijCakarRbesIrCag RbsinebIGñkcg;
eRbIR)as;nUv passwordBIeRBaH POST eFVkI arbBa¢nÚ Tinnñ ½yEdlmanenAkñgú form eTAtam body én HTTP request dUcecñH
Tinñny½ TaMgenaHminRtUv)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>";

By PREAP SAN PHP & MYSQL Page.. 53


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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>";

By PREAP SAN PHP & MYSQL Page.. 54


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

?>
</body>
</html>
Gñknwg)aneXIjBIPaBxusKñarvagkareRbIR)as;nUv post method nig get method enAelI Address bar rbs;
brower nimy
Y ² . 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átI enAbnÞat;TI 12edaypþl;eQµaHCa array
indexed ehAfa products. products[]KWCa select element Edlpþle; GaynUvCMerIssMrab;GñkeRbIR)as;edaykareRbI

option element enAbnÞat;TI 13 dl; bnÞat;TI 17eyIgnwgbgðajBIlT§plEdlGñkeRbIR)as;)aneRCIserIsBI form xagelI

EdlbegátI Ca array enAkñúg ]TahrN_ 51


01: <html>
02: <body>
03: <head>

By PREAP SAN PHP & MYSQL Page.. 55


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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;Fatunimy Y ²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 nimy Y ² ehIyP¢ab;CamYy empty brakets . PHP nwg compiles nUvGVIEdlGñkeRbIR)as;)an select eTACa array .
eyIgnwgeFVIkarpøas;brþÚ BIkareRbI 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>

By PREAP SAN PHP & MYSQL Page.. 56


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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>

By PREAP SAN PHP & MYSQL Page.. 57


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៨
[

MySql

1. What is MySql ? >


MySql KWCaRbePT Open Source Sql databases management system EdlmanRbCaRbiybMpt u sMrab;
kareRbIR)as; edayRtUv)anGPivDÆn_ngi KaMRTeday MySQL AB . MySQL AB KWCaRkumh‘nu EdlbegátI eLIg
edayRkumGñkGPivDÆn_ MySql .
1.1 MySQL is a relational database management system. >
A relation databases KWrkSaTuknUvTinñny
½ kñúg table epSgBIKñaEdlmanlkçN³RbesIrCagkarrkSaTuknUvTinñn½yTaMg
Gs;enAkñúg storeroom d¾FmM Yy ehIyviFIenHGacCYybegánI el,Ó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átI )anCaCMnan;rbs; SQL-92
edaysMedAeTAelI SQL standard EdleFVkI ardak;ecjnUvCMnan;rbs;xÜønenAkñgú GMLuú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µGT VI aMgGs; . MySQL
software eRbIR)as; GPL( General Public License ) edIm,Ipþl;eGayGñknUvGVIEdlRtUvkar nig GVIEdlGñkminRtUvkarcMeBaH

software enH . KWmann½yfa RbsinebIGñkminmanGarmµN_Tukcitþ CamYynig w GPL b¤ Gñkcg;bgábn; UvkUdeTAkñgú MySQL


edIm,IeFVCI aCommercial application GñkGacTijnUvc,ab;GnuBaØatieGayeFVBI aniC¢kmµBIRkumh‘un MySQL Edl
Bt’manlMGti GñkGaceRbIR)as;nvU eKhTMBr½ (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ñúgGMLgú eBlEdl design SQL databases
environment . command rbs; MySQL nimy Y ²RtUvEtbBa©b;CamYynwgsBaØa Semicolon ( ; ) .
show databases KWCa command dMbg U EdleRbIedIm,IbgðajnUveQµaH database TaMgGs;EdlmanenAkñúg MySQL
kñgú enaHman database cMnnY BIrP©ab;mkRsab;CamYy MySQL package.
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |

By PREAP SAN PHP & MYSQL Page.. 58


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

+----------+
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átI xagelIedayeRbIR)as; show database command.
>mysql> show databases;
+------------+
| Database |
+------------+
| mysql |
| BbuDb |
| test |
+------------+
3 rows in set (0.00 sec)
edIm,Ilb;nvU database NamYyenaHGñkGaceRbI SQL command : drop database databaseNameGñkKYrRbugRby½tñpgEdr
cMeBaHkareRbIR)as; command enH BIeRBaHvanwgeFVIkarlb; database edayminmankarsaksYr b¤ eFVkI arbBa¢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 ;. eyIgnig w eRbI 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;nvU cMMnYntYGkSrEdlRtUvrkSaTukenAkñúg table ehIy fieldnimYy²én table
suTE§ tTamTareGaymannUvtMélCanic© . cMENkÉ id attribute tMélrbs;vaniwgRtUvekIneLIgedaysVy½ Rbvtþ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 ;>

By PREAP SAN PHP & MYSQL Page.. 59


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

+----------+-------------+------+-----+---------+--------------+ >
| 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', ' muth_monen@hotmial.com ');
mysql>insert into tblpeople values(null, 'lou', ' army ', ' lou cy ', ' lou_cy@gmail.com '); >
enAeBlEdl id attribute Ca auto_increment eyIgeRbI null sMrab;Ca data entry Edl null Value
minmanlkçN³dUcnwg blank (" ") enaHeT . id attribute cab;epþmI edaytMélCa integer 1 ehIyvanwgeFVIkarbegáIntMél 1
énenAeBlEdlmankarbBa¢lÚ Tinñny½ eTAkan; row fµmI þ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 |muth_monen@hotmail.com |
| 2 | lou | army | lou cy |lou_cy@gmail.com |
+----+----------+----------+------------+---------------------+
2 rows in set (0.00 sec)

edIm,Ilb;nvU table NamYyecjBI database GñkGaceRbI command :mysql> drop table tableNamesMrab; command
EdleRbIedIm,Ilb; row BI table TamTareGayGñkpþln; vU eQµ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ñgú table
nwgRtUvlb;ecalTaMgGs;. enAkñgú ]TahrN_xageRkameyIgnwgeRbItéM 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;nvU 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’ ;

By PREAP SAN PHP & MYSQL Page.. 60


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

3. PHP/MySQL Functions >


3.1 Connecting to MySQL >
muneBlEdlcab;epþmI eFVIkarCamYynwg 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,IPa¢ b;eTAkan; MySQL rYcral;ehIy GñkRtUvEteRCIerIsDatabase
NamYyedIm,IeFVkI arCamYyva 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át I enAkñ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 );

By PREAP SAN PHP & MYSQL Page.. 61


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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 ', ' ratana@example.com ' )";
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_xagelITn
i ñny½ dEdlnwgRtUvbBa©ÚleTAkan;
row fµm
I YyeToté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>

By PREAP SAN PHP & MYSQL Page.. 62


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

<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>

By PREAP SAN PHP & MYSQL Page.. 63


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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

By PREAP SAN PHP & MYSQL Page.. 64


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

eyIg)an loop nUv row array EdlpÞkú kñgú $a_row enAbnÞat;TI 25 ehIyeFVkI arbec©jnUvlT§plBIFatunmi Yy²
bBa¢lÚ eTAkñgú table cell rYcRtUv)anbgðajeday web browser . Gñkk¾Gac accessFields
edayeRbIR)as;eQµaHrbs;vaeTAtamviFsI aRsþBrI ya: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() CMnsY vij .
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 BICYrNamYymkeFVCI a 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() TaMgBIrenHsuTE§ t


pþl;nUvPaBgayRsYlsMrab;cab;yk Bt’manBI row NamYy. eTaHbICaya:gNak¾edayCaFmµta PaK eRcIneKniymeRbIR)as;
mysql_fetch_array() .

By PREAP SAN PHP & MYSQL Page.. 65


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន



By PREAP SAN PHP & MYSQL Page.. 66


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

ច្េច្ ៀនទ្យី ៩ Saving State with Cookies and Session >


1. Cookie >
cookie KWCaTinñn½yEdlrkSaTukeday user‟s browserEdlRbRBwteþ TA)anedaykar requestBI server b¤ script .
vaGacrkSaTuk)anRtwmEt 20 cookies nig TMhMpkÞú Tinñny½ )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:snIu kMBüÚTr½ Edl set nUv cookie enaHb:eu NÑ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
GacCaviFsI aRsþd¾RbesIrsMrab;rkSarTuknUvBt’manxøBI IGñkeRbIR)as; BI page mYyeTA page mYyeTot . .
Cookies rbs; PHP bBa¢n Ú eTAkan; web server edayeRbIR)as; setcookie() function .RbsinebI cookie )an set
nUv time-out browser nwgeFVIkarcgcaMnvU cookie eTaHbICaGñk restartma:snIu k¾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();

By PREAP SAN PHP & MYSQL Page.. 67


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

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');
}
?>

By PREAP SAN PHP & MYSQL Page.. 68


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

sMrab;kareRbIR)as user id rbs;eyIgenH KWvamanPaBcaM)ac;Nas; dUcCakarcg;caMsMrab;Authentication data


¬dUcEdleyIg)anGnuvtþn_enAkñúg script rbs;eyIg ) .b:Eu nþvaminTan;CaKMnti EdlRtwmRtUvenaHeT BIeRBaH
GñkeRbIR)as;GacEkERb cookies TaMgenaH b¤ install tMélepSg²)aneTAtamGMeBIcitþ .
mantMeNaHya:gRbesIrmYysMrab;bBaðaenHKWkareRbIR)as; PHP Sessions EdleyIgI nwgGnuvtþ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átI 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
mkCMnsY edaykareRbIR)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 */

By PREAP SAN PHP & MYSQL Page.. 69


សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន

<?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;mkeyIgeFVk I arDestroy 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

By PREAP SAN PHP & MYSQL Page.. 70

You might also like