Professional Documents
Culture Documents
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 .
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 >
ច្េច្ ៀនទ្យី ២
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_ 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: ?>
25:
26: </body>
27: </html>
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
]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
(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;
$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>
Arithmetic Operators
- dk ( Subtraction ) 10-2 2
Variable $year EdlCaRbePT integer RtUv)anbMElgeTACa string " 2007 " mun
$x = $x + 4; // lT§pl $x KW 8
b¤ GñkGacCMnYsedaykarsresrdUcxageRkam
$x = 4;
$x += 4; // $ lT§pl $x KW 8
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
KWeRbIedIm,IeRbobeFobtMélEdlCa strings .
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
]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
]TahrN_
$num1 = 5;
$num2 = $num1++; // post-increment, $num2 RtUv)anpþl;nUvtMéledImrbs; $num1
print $num1; // lT§plEdlnwgRtUvbgðajKW tMélrbs; $num1 KW 6
]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
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
សាលាបច្ចេកច្េស ដុន បូសកូ ច្េត្តព្រះសីហនុ ផ្នែកទំនាក់ទំនងសងគម និង សារព័ត៌មាន
]TahrN_ 7
constant2.php
<html>
<head>
<title>Defining a constant</title>
</head>
<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>
ច្េច្ ៀនទ្យី ៣
[[[[[[[
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_ .
$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
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;
default:
<?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";
}
?>
</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>
statement KW block code rbs; do while statement Gnuvtþn_muneBlEdl Expression rbs;vaRtUv)an test nig pþl;tMél
true b¤ false .
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";
}
?>
<?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:
20: </div>
21: </body>
22: </html>
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 .
]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>
ច្េច្ ៀនទ្យី ៤
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>
</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: {
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;
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
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
müa:geTotdUcCa
$member[] = "Cambodia"; >
$member[] = "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" );
keys EdlenAkñúg assosciate array KWCa string dUecñH engine nwgbgðajr)aykarN_ error RbsinebI keys én array minman
<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 )
{
//...>>>>>>>>>>
}>
$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
?>
</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";
?>
</body>
</html>
$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 .
<body>
<h2>Using array_merge()</h2>
<?php
?>
</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
]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 .
]TahrN_ 31
<html>
<head>
<title>Using array_unsift() </title>
</head>
<body>
<h2>Using array_unsift()</h2>
<?php
<?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/>";
}
?>>
</body>
</html>
<?php
?>
</body>
</html>
sUmBinitükñgú ]TahrN_ 34
<html>
<head><title> sorting array with sort() function</title>
</head>
<body>
<h2>Using sort() function </h2>
<?php
?>
</body>
</html>
assort() TTYlyk argument EdlCaRbePT associate array ehIyeFVIkartMerobtMél rbs; array enaHBI A-Z b¤
<?php
$first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1);
echo "<b>an associate Array before use asort </b> <br/>";
?>
</body>
<html>
]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/>";
ច្េច្ ៀនទ្យី ៦
[[
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.
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 .
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 .
<?
?>
]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: ?>
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
]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 .
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 .
keyword vij .
ex.
private $name; >
private $pid; >
$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
]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: {
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
]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 >
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 );
ច្េច្ ៀនទ្យី ៧
[
Form
<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>
<tr><td>E-mail</td>
<td> <input type="text" name="txtemail"></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.
<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 "</tr>";
print "<tr>";
print "</tr>";
print "</table>";
?>
</body>
</html>
xageRkamKWCalT§plEdlTTYl)anbnÞab;BI form RtUv)an submit edayeRbI get mehod . sUmBinitüemIlnUv address
<html>
<body>
<?php
$fname = $_POST['txtFname'];
$lname = $_POST['txtLname'];
print "<table>";
print "<tr>";
print "</tr>";
print "<tr>";
print "</tr>";
print "</table>";
?>
</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 .
]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
<body>
<center>
<h2>Multiple Select</h2>
<hr width="50%">
<form action="multiple.php" method="POST">
<br><br>
<input type="submit" value="submit">
</body>
</html>
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>
ច្េច្ ៀនទ្យី ៨
[
MySql
+----------+
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:>
enaHeT dUecñHvaminmanlkçN³ case-sensitive eLIy . id KWRtUv)anbegáItCa primary key sMrab; table edIm,I
identify row nimYy²én table .
+----------+-------------+------+-----+---------+--------------+ >
| 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 ’ ;>
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 );
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>
<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>
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
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";
_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();
}
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');
}
?>
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 */
<?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 .