PHP Basic

What is PHP

PHP ဆိုတာ Hypertext Preprocessor ဖြစ်ပါသည်။ PHP သည် server-side scripting language တစ်ခုဖြစ်သည်။ နောက်ပြီး open source software လည်းဖြစ်သည်။PHP ကို Linux, Windows အစရှိတဲ့ OS တွေမှာအသုံးပြုနိုင်ပါတယ်။PHP support လုပ်တဲ့ database တွေလည်း အများကြီး ရှိပါတယ် ဒီထဲကမှ တချို့ ကိုပြောပြရရင် (MySQL,Oracle,PostgreSQL,Sybase) စသဖြင့်ပေါ့ ။

How to work PHP

PHP သည် server-side ဖြစ်လို့သူအလုပ်လုပ်တာကိုမမြင်ရပါဘူး။သူ့လုပ်ဆောင်ချက်က Client ဘက်(Browser) နဲ့ database  တို့ကိုချိတ်ဆက်ပေးတာပေါ့။

ဥပမာဆိုရရင်…

ရေတွင်း၊ရေလှည်းနဲ့ ရေခပ်တဲ့ကြိုး နဲ့ ပုံး ပေါ့။ ရေလှည်းထဲကို ရေဖြည့်မယ်ဆို ရေတွင်းထဲက ရေကိုကြိုးနဲ့ပုံးမပါဘဲ ခပ်လို့မရပါဘူး။ ဒီနေရာမှာ ရေတွင်းဆိုတာက database ၊ရေလှည်းဆိုတာက Browser ၊ ပုံးနဲ့ကြိုးဆိုတာ PHP ပေါ့။

Screen shot 2009-10-24 at PM 02.30.19

Install PHP

PHP ကိုကိုယ့်စက်မှာစမ်းမယ်ဆိုရင်တော့ Xampp,Wamp အစရှိတဲ့ဆာဗာလိုပါတယ်။  အခုတော့ xampp သွင်းနည်းကိုပြောပြပါမယ်။xampplite-win32-1.5.5. ဆိုတဲ့ Software ကို google ကရှာပြီးဒေါင်းလိုက်ပါ။ ကျွန်တော့်မှာရှိိတဲ့ software နဲ့ပြောလိုက်တာပါ။ အခုဆိုရင် Xampp က XAMPP 1.7.2 ဖြစ်နေပါပြီ။ပြီးရင် ကိုယ်သွင်းချင်တဲ့လမ်းကြောင်းကိုရွေးပြီး  Extract လုပ်လိုက်ပါ။အဲ့ဒါဆို PHP run ဖို့အဆင်သင့်ဖြစ်သွားပါပြီ။

PHP File တစ်ခုမှာဘာတွေပါလဲ

PHP file တစ်ခုမှာ html tags တွေပါမယ် text, နောက် php script တွေပါ၀င်ပါမယ်။ PHP file ရဲ့ extension တွေကတော့ (“.php”,”.php3”,”.phtml”) တို့ဖြစ်ပါတယ်။ အများဆုံးပေးဇြစ်တဲ့ extension ကတော့ .php ပါ။

Xampp server ဘယ်လို Run လဲ

ခုနကသွင်းထားတဲ့ xampp Folder ကိုသွားလိုက်ပါ။ပုံလေးတွေနဲ့ရှင်းပြထားပါတယ်။

Screen shot 2009-10-24 at PM 02.37.05

ပုံ(၁)

ပုံ(၁)မှာပြထားတာက xampp folder ထဲဝင်ပြီးသွားတဲ့ပုံပါ။Xampp_start ဆိုတာကို နှိပ်လိုက်ပါ။

Screen shot 2009-10-24 at PM 02.41.28

ပုံ(၂)

ဒါကတော့ xampp_start run လိုက်ရင်ပေါ်လာပါမယ်။အဲ့ဒါကိုမပိတ်လိုက်ပါနဲ့ ထိုသို့ မပေါ်လာပါက မှားယွင်းနေပြီဖြစ်ပါတယ်။နောက်တစ်မျိုး Run နည်းပြောပြပါမယ်။

Screen shot 2009-10-24 at PM 02.43.39

ပုံ(၃)

ပုံ(၃)ကအတိုင်း xampp_control ဆိုတာကိုနှိပ်လိုက်ပါ။

Screen shot 2009-10-24 at PM 02.46.26ပုံ(၄)

ပြထားတဲ့အတိုင်း Apache and Mysql ကို Start လုပ်လိုက်ပါ။

Screen shot 2009-10-24 at PM 02.46.34ပုံ(၅)

ပုံ(၅)ပါအတိုင်း Running ဖြစ်သွားပါမယ်။ဒီဟာကိုလည်း မပိတ်ပစ်လို်က်ပါနဲ့။(Wamp မှာဆိုရင်တော့ ကွာခြားမှာဖြစ်ပါတယ်။)
ပြီးရင်တော့ Browser ဖွင့်ပြီး address bar မှာ localhost ဆိုပြီးရိုက်လိုက်ပါ။အဲ့ဒါဆို server အဆင်ပြေသွားပါလိမ့်မည်။

PHP တစ်ခုစရေးမယ်ဆို <?php ——– ?> ဒီလို tag အတွင်းမှာရေးရပါမယ်။ဒါကတော့ Standard tag ပါ အလွယ်ကြိုက်တတ်သူတွေအတွက်တော့ <?——?> ဒါက Short tag ။ ထိုသို့ ရေးလည်းရပါတယ်။PHP တွေကို xampp folder အောက်မှာ “htdocs” ဆိုတဲ့ folder လေးရှိပါတယ်။xampp အတွက်တော့ php မှန်သမျှထို folder အောက်တွင်သိမ်းရပါမည်။

First Script

<?php

echo "Hello.This is a first example of php."; // show on browser.

?>

htdocs  အောက်မှာ folder တစ်ခုဆောက်လို်က်ပါ။ mzedu ဆိုပြီးနာမည်ပေးလို်က်ပါ။ ပြီးရင် အပေါ်ကကုတ်ကို notepad,dreamweaver ဒါမှမဟုတ် text editor တစ်ခုခုမှာ  ရိုက်လိုက်ပါ။ပြီးရင်ခုနဆောက်ထားတဲ့ mzedu folder အောက်မှာ first.php လို့ အပြည့်အစုံ extension ပါရိုက်ပြီးသိမ်းလိုက်ပါ။PHP တွင် browser မှာပြသလိုသော စာသားများကို echo ဖြင့်ရိုက်ပါသည်။ တခြားဟာတွေရှိပါသေးတယ် ။ လောလောဆယ်တော့ စာသားရိုက်မယ်ဆို echo ဖြင့်ရိုက်တယ်ဆိုတာပဲမှတ်ထားလိုက်ပါ။နောက်ပြီး စာကြောင်းဆုံးတိုင်း semicolon (;) ဖြင့်အဆုံးသတ်သည်။ထို semicolon ကျန်ခဲ့ပါက prase error ဆိုပြီးပြပါလိမ့်မည်။html tag တွေနဲ့ရောပြီးရေးသားတဲ့ပုံလေးရေးပြပါမယ်။

<?php
echo "<h1><font color='red'>";
echo "This is red font color";
echo "</font></h1>";
?>

Html tags တွေကိုထိုသလို့ပေါင်းရေးလို့ ရပါတယ်။အခြား tags တွေလည်းစမ်းကြည့်ကြပါ။ မှတ်ထားရမှာက echo ဖြင့်ရေးရာ double quote အတွင်းတွင် single quote သာသုံးရပါမည် Double quote သုံးပါက error ပြပါလိမ့်မည်။

<?php

echo “<html>”;
echo “<head><title>This is header</title></head>”;
echo “<body bgcolor=’black’>”;
echo “<font color=’purple’>Good Morning buddy</font>”;
echo “</body>”;

?>

ဒါက html ပုံစံအတိုင်းရေးထားတာပါ။

PHP Comment

PHP မှာမိမိအလုပ်မလုပ်စေချင်တဲ့ကုတ်တွေကို comment ပေးပြီးပိတ်ထားလို့ရပါမယ်။PHP

Comment ကိုဒီလိုပုံစံရေးပါတယ်။

<?php
echo "Hello,This is line number one";
//echo "This is comment one";
echo "Hello,This is line number two";
/*echo "This is comment two"; */
#echo "This is comment three";
?>

ဒီပုံအတိုင်းဆို line number one နှင့် line number two ကတဆက်တည်းဖြစ်နေပါမည်။ အောက်တစ်လိုင်းဆင်းအောင် <br> ကို ထည့်ပေးပါမယ်။ဒီလိုထည့်ပါ။

echo “Hello,This is line number one”.”<br>”;

တစ်ကြောင်းတည်းပေါင်းရေးချင်ရင် ထိုသို့ .(dot)လေးခံရေးရပါတယ်။

Variable

PHP မှာ variable ကို dollar sign($)နဲ့ရေးပါတယ်။Variable name တွင် “a-z,A-Z,0-9,_” အစရှိသည်တို့အ သုံးပြုကြပါသည်။name တွင် space သုံးလို့မရပါ။ space အ စား underscore သုံးပါသည်။ ဥပမာ- $my name အ စား $my_name အဲ့လိအ သုံးပြုပါသည်။ဥပမာ Variable name များ

$number01
$NUMBER
$a

Variable သုံးနည်းစရေးပြပါမယ်။

<?php
$a="This is first character";
echo $a;
?>

<?php
$a="This is first character";
$b="Hello user.good evening";
$var="This number is 01";
echo $a.$b.$var;
?>

ဒီတစ်ခါကျတော့ခုနပြောခဲ့တာတွေပြန်အသုံးပြုပုံလေးပါ။html tags တွေရယ် variable တွေရယ်ပေါ့။

<HTML>
<HEAD>
<TITLE>greeting</TITLE>
</HEAD>
<BODY>
<P>Hello,
<?php
$firstname = "Joyce";
$lastname ="Park";
$title = "Ms.";
echo $title.$lastname;
?>
. We know who you are! Your first name is <?php echo
$firstname; ?>.</P>
<P>You are visiting our site at <?php echo date('Y-m-d H: -- i:s');
?></P>
<P>Here is a link to your account management page: <A
HREF="http://www.mysteryzillion.org/accounts/<?php echo
$firstname.$lastname; ?>/”><?php echo $firstname; ?>’s account
management page</A></P>
</BODY>
</HTML>

If Statement

If ဆိုတာ condition စစ်တာပါ။condition စစ်တယ်ဆိုတာက အခြေအနေနှစ်မျိုး ဒါမှမဟုတ် နှစ်မျိုးထက်ပိုတဲ့အခြေအနေမျိုးတွေမှာပေါ့။ဥပမာ-တနင်္ဂနွေနေ့ဆိုရင် Happy Sunday တနင်္လာနေ့ဆိုရင် Happy Monday.အဲ့လိုပြပါဆိုပြီး if နဲ့ နေ့ ကို condition စစ်တာပါ။
လေ့ကျင့်ခန်းလေးလုပ်လိုက်ရအောင်။

if(condition)
code to be executed if condition is true;
else
code to be executed if condition is false;

<?php
$d=date("D");
if($d=="Sunday")
echo "Have a nice Sunday";
else
echo "Have a nice day!";
?>

date(“D”) ဆိုတာ date function ကိုသုံးပြီးဒီနေ့ date ကိုခေါ်လိုက်တာပါ။function ဖန်တီးပုံတွေ ခေါ်သုံးပုံတွေကိုနောက်ကျရင်ဖော်ပြပေးပါမယ်။

<?php
$name="AungAung";
if($name=="KyawKyaw")
{
echo "Hello Kyaw Kyaw";
}
elseif($name=="AyeAye")
{
echo "Hello AyeAye";
}
else
{
echo "Morning! AungAung";
}
?>

ဒါကတစ်ခုထက်ပိုတဲ့အခြေအနေတွေကိုစစ်ထားပုံပါ။အခု variable $name ထဲကို AungAung ဆိုတာကိုထည့်ထားပါတယ် ဒီတော့ စစ်ထားတဲ့အခြေအနေတွေထဲက အောက်ဆုံး else နဲ့ ညီနေတာတွေ့ရပါမယ်။ ထို $name မှာ KyawKyaw လို့ပြောင်းရိုက်ပြီး
စမ်းကြည့်ပါ။

Function

PHP တွေမှာ function တွေအများကြီးရှိပါတယ်။ခုဟာက user define function သုံးနည်းပြောပါမယ်။များသောအားဖြင့် function ကိုထပ်တလဲလဲအသုံးပြုရမယ့်စာကြောင်း တွေရိုက်ရမယ့်နေရာမှာအသုံးပြုပြတယ်။ဥပမာ Company slogan အဲ့ဒါကို company site
ရဲ့ page တိုင်းမှာထည့်ချင်တယ်ဆိုတဲ့နေရာမျိုးမှာအသုံးချပါတယ်။function ကိုမသုံးရင် page တိုင်းမှာလိုက်ရိုက်နေရမှာပေါ့။

<?php
function writeMyName()
{
echo "Your Name";
}
writeMyName();
?>

Function မှာ Parameters ထည့်ပြီးအသုံးပြုတာထပ်ပြောပြပါဦးမယ်။

PHP Function-Parameters

<?php
function hello($fname)
{
echo "Hello there ". $fname ."!<br>";
}
hello("AungAung");
hello("AyeAye");
hello("KyawKyaw");
hello("MyaMya");
?>

Parameter နှစ်ခုသုံးထားတဲ့ function ဥပမာလေးပါ။

<?php
function myname($fname,$p)
{
echo $fname ." Refsnes". $p ."<br>";
}
echo "My name is ";
myname("Kai Jim","!!!");
echo "My name is ";
myname("Hege","???");
echo "My name is ";
myname("Stale",".....");
?>

Function မှာစာသားတွေအပြင် ဂဏန်းတွေ ပေါင်းနှုတ် မြှောက်စား လုပ်တာတွေလည်း လုပ်လို့ ရပါတယ်။ဒီဥပမာလေးကိုကြည့်ပါ။

PHP Function-Returning Values

<?php
function add($x,$y)
{
$total=$x+$y;
return $total;
}
echo "1+16 =". add(1,16);
?>

နောက်တစ်ခုကိုကြည့်ပါ။

<?php
function add($x,$y,$z)
{
$total=$x+$y-$z;
return $total;
}
echo "1+16-7 =". add(1,16,7);
?>

Array

တစ်ခု ဒါမှမဟုတ် တစ်ခုထက် ပိုတဲ့ value တွေကို single value ထဲမှာပဲသိမ်းနိုင်ပါတယ်။ Array ထဲမှာ value တွေကို ပုံစံနှစ်မျိုးနဲ့ သတ်မှတ်နိုင်ပါတယ်။

ပုံစံ(၁)

<?php
$name = array("name"=>"KyawKyaw", "email"=>"kyaw01@gmail.com","age"=>"25");
echo $name["email"];
?>

ပုံစုံ(၂)

<?php
$name["name"] = "KyawKyaw";
$name["email"] = "kyaw01@gmail.com";
$name["age"] =25;
?>

<?php
$name[1]="Mya Mya";
$name[2]="Aye Mg";
$name[3]="Yin Yin";
echo $name[1]. " and " . $name[2] . " are " . $name[3] ." 's neighbors";
?>

Loop

Loop မှာ while loop, do while loop, for loop, for each loop ဆိုပြီးရှိပါသည်။

While loop

while(conditional statment is true)
{
do this code;
}
<?php
$i=1;
while($i<=5)
{
echo " Hello the number is " .$i . "<br>";
$i=$i+1;
}
?>

ပထမဆုံး variable $i=1 ဆိုပြီးသတ်မှတ်လိုက်ပါတယ်။နောက် while loop ကိုသုံးပါတယ် $i<=5 ဆိုတာက ထို variable $i ထဲက ဂဏန်း ၅ ထပ်ငယ်မယ် ဒါမှမဟုတ် ၅ နဲ့ညီတဲ့ အထိ ဒီ loop ကိုအလုပ်လုပ်ပါမယ်ဆိုပြီးပြောလိုက်တာပါ။ဆိုလိုတာက အောက်က echo နဲ့ထုတ်ထားတဲ့စာသား Hello the number is အဲ့ဒါကို ၅ ခါလုပ်မယ်ပေါ့။ $i=$i+1; ဒါကတော့ variable i ကို 1 ပေါင်းတာပေါ့။ခုအလုပ်လုပ်ပုံရှင်းပါမယ်။ စစချင်း $i ထဲမှာ 1 ၀င်နေတယ်နော်။ while loop ကိုကြည့်တယ် $i<=5 ဆိုတော့ ခု 1 ဆိုတော့ 5 ထပ်ငယ်သေးတယ် condition ညီတယ် ဒါဆို loop ကိုအလုပ်လုပ်မယ်။ အောက်က Hello the number is $i ဆိုတာကိုအလုပ်လုပ်တယ် ပြီးအောက်က $i=$i+1 မှာ မူလ 1 ကို 1 ထပ်ပေါင်းလိုက်တယ် ခု 2 ဖြစ်သွားပြီနော်။ခုနကလိုပဲ အလုပ်လုပ်တယ်။ဒီလိုနဲ့ တစ်ပေါင်းပေါင်းရင်းနဲ့ 6 ဖြစ်သွားပြီ။while loop ကိုကြည့်တော့ 5 နဲ့ ညီ 5 ထပ်ငယ်လို့ ပေးထားတယ် ဟောခု 6 ဆိုတော့ condition မညီတော့ဘူး။ ဒါကြောင့် loop ကိုအလုပ်မလုပ်တော့ပါ။Loop ရဲ့ သဘောတရားကဒီလိုမျိုးပါပဲ။

<?php
$count = 1;
while ($count <= 10)
{
echo "count is $count
“; $count = $count + 1; } ?>

ကောင်းပြီ ဒီတစ်ခါတော့ loop နဲ့တွက်ချက်တာလေးလုပ်ပါမယ်။

<?php
$brushprice=5;
$counter=10;
echo "<table border='1' align='center'>";
echo "<tr><th>Quantity</th>";
echo "<th>Price</th></tr>";
while($counter<=100)
{
echo "<tr><td>";
echo $counter;
echo "</td><td>";
echo $brushprice * $counter;
echo "</td></tr>";
$counter=$counter+10;
}
echo "</table>";
?>

ကုတ်ပိုများသွားတာပဲရှိပါတယ်။သဘောတရားကတော့အတူတူပါပဲ။ ဒီဥပမာမှာတော့ $counter 100 အထိအလုပ်လုပ်မှာပါ တစ်ခါအလုပ်လုပ်ပြီးတိုင်း ၁ မပေါင်းတော့ဘဲ ၁၀ ပေါင်းထားပါတယ်။နောက်ရလာမယ့် ရလဒ်တွေကို table ထဲထည့်မယ် ဒါပါပဲ။

Do while loop

do 
{
Statement
}
while (expression);
<?php
$count = 45;
do
{
echo "count is $count<BR>";
$count = $count + 1;
}
while ($count <= 50)
?>

While loop နဲ့ သဘောတရားအတူတူပါပဲ။ရေးပုံ ရေးနည်း နည်းနည်းကွဲသွားတာပါ။ သူက do ကိုအရင်လုပ်တယ် ပြီးမှ အောက်က while ကိုကြည့်တာပါ။ခု while $count မှာ 50 ပေးထားတယ် အဲ့နေရာမှာ 10 လို့ ပြင်ပြီးစမ်းကြည့် တစ်ကြောင်းပဲအလုပ်လုပ်တာေ တွ့ရပါလိမ့်မယ်။ Do ကိုအရင်အလုပ်လုပ်တော့ count is $count ဆိုတော့ 45 ကိုပြပါမယ်ေ နာက်တစ်ပေါင်းတော့ 46 အောက်က while မှာကျ <=10 ဆိုတော့ ဘယ်လိုမှအခြေအနေ မညီတော့အလုပ်မလုပ်တော့ဘူးပေါ့။သိပ်မရှင်းပြတော့ပါဘူး။

For Loop

for(initialization;condition;increment)
{
code to be executed;
} 
<?php
for($i=1;$i<=5;$i++)
{
echo "Hello friend<br>";
}
?>

For loop ကလည်း အတူတူပါပဲ။အဲမတူတာဆိုလို့ while မှာ variable ကိုအရင်တတ်မှတ် တယ်နောက် increment ကို loop အတွင်းမှာထည့်ရေးတယ်။အဲ For loop ကျတော့ အကုန်လုံးကိုတစ်ခါတည်းပေါင်းရေးတယ်။ $i =1 ဆိုပြီး variable သတ်မှတ်တယ် နောက်က condition စစ်တယ် ပြီးတစ်ခါတည်း Increment လုပ်လိုက်တယ်။နောက်ဥပမာတစ်ခုကြည့်ပါ။

<?php
$bprice=5;
echo "<table border='1' align='center'>";
echo "<tr><th>Quantity</th>";
echo "<th>Price</th></tr>";
for($counter=10;$counter<=100;$counter +=10)
{
echo "<tr><td>";
echo $counter;
echo "</td><td>";
echo $bprice * $counter;
echo "</td></tr>";
}
echo "</table>";
?>

ခုန while loop ကဥပမာပဲနော်။ဒါကို for loop နဲ ့ရေးပြတာပါ။$i++ ဆိုတာက $i=$i+1 နဲ့အတူတူပါပဲ။Operator တွေကိုရှင်းပြတဲ့အခါသိသွားမှာပါ။

Break and Continue

<?php
for ($x = 1; $x <= 10; $x++)
{
// if $x is 4, break out
if ($x==4)
break;
echo "The number is $x ";
}
?>

<?php
for ($x = 1; $x <= 10; $x++)
{
if ($x==4)
continue;
echo "The number is  $x ";
}
?>?>

အပေါ်ကနှစ်ခုကိုကြည့်ပါ။ပထမဆုံးတစ်ခုက $x က 4 ဖြစ်သွားမယ်ဆိုရင်။loop ကိုရပ် လိုက်မယ်လို့ ရေးထားတာပါ။ဒီလိုဆိုတော့ ၃ ကြောင်းပဲပြမှာပါ။ဒုတိယတစ်ခုကျတော့ 4 ဖြစ်လည်းဆက်ပြီးအလုပ်လုပ်မယ် လို့ရေးထားတာပါ။သိစေချင်တာ condition ကဘယ်လို
ပဲပေးထားပေးထား ကိုယ်အလုပ်လုပ်ချင်သလောက်ပဲ loop တွေကို break လုပ်လိုက်လို့ ရတယ်ဆိုတာပါ။

Nesting Loop

Loop ထဲမှာ loop ထည့်တာကို nesting loop လို့ ခေါ်ပါတယ်။ဥပမာလေးကိုကြည့်ပါ

<html>
<head>
<title>PHP</title>
</head>
<body>
<?php
 echo "<table border='1'>\n";
 for ( $y=1; $y<=12; $y++ )
 {
  echo "<tr>\n";
  for ( $x=1; $x<=12; $x++ )
 {
  echo"\t<td>";
  echo ($x*$y);
  echo"</td>\n";
 }
 echo "</tr>\n";
 }
 echo "</table>";
 ?>
</body>
</html>

Operator

Arithmetic Operator

Operator Description Example Result
+ Addition 10+3 13
– Subtraction 10-3 7
* Multiplication 10*3 30
/ Division 10/3 3.3333333333333
% Modulus 10%3 1

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
%= $x%=5 $x = $x % 5
.= $x .= “test” $x = $x” test”

Comparison Operators

Operator Description Example
== Is equal to 5==8 returns false
!= Is not equal to 5!=8 returns true
> Is greater than 5>8 returns false
< Is less than 5<8 returns true
>= Is greater than or equal to 5>=8 returns false
<= Is less than or equal to 5<=8 returns true

Logical Operator

Operator Description Example
&& and x=6
y=3
(x < 10 && y > 1)returns
true
|| or x=6
y=3
(x==5 || y==5) returns
false
! not x=6
y=3
!(x==y) returns true

အသုံးများတဲ့ Operator တွေကိုဖော်ပြပေးထားတာပါ။

Working with Form

Form method မှာနှစ်မျိုးရှိပါတယ်
post method
get method
get method ဆိုလို့ ယူတဲ့ method လို့ မထင်လိုက်ပါနဲ့ နှစ်ခုလုံးက ပို့တဲ့ method
တွေကြီးပါပဲ။

Post Method

Post method ကို Form ရဲ ့ action မှာထည့်ရေးရတာပါ။ဒီလို <form action=”welcome.php” method=”post”>
အဲ့လိုလေးရေးတာပါ။ဥပမာတစ်ခုစမ်းရေးပြပါမယ်။

post.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="welcome.php">
  <table width="400" border="0">
    <tr>
      <td> </td>
      <td> </td>
    </tr>
    <tr>
      <td>Name</td>
      <td><label>
        <input type="text" name="tname" id="tname" />
      </label></td>
    </tr>
    <tr>
      <td>Age</td>
      <td><label>
        <input type="text" name="tage" id="tage" />
      </label></td>
    </tr>
    <tr>
      <td><label>
        <input type="submit" name="Submit" id="Submit" value="Submit" />
      </label></td>
      <td> </td>
    </tr>
  </table>
</form>
</body>
</html>

ဒီကောင့်ကို post.php ဆိုပြီးသိမ်းလိုက်ပါ။သူ့ရဲ့ form action မှာ welcome.php ဆိုပြီးပြောထားပါတယ်။ဆိုလိုတာက ဒီ post.php က Submit button ကိုနှိပ်လိုက်ရင် သွားမှာက welcome.php ပေါ့။ကိုယ်သွားစေချင်တဲ့ page တွေကို Form action မှာထည့်
ရေးပါတယ်။ဟုတ်ပါပြီ အခု welcome.php page ကိုရေးပါမယ်။

welcome.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome</title>
</head>
<body>
Welcome
<?php
echo $_POST["tname"];
?><Br>
You are
<?php
echo $_POST["tage"];
?>
 years old.
</body>
</html>

ဒီ welcome.php မှာခုန post.php က text box တွေမှာကိုယ်ဖြည့်လိုက်တဲ့နာမည်နဲ့အသက်
ကိုပြမှာပါ။ဒီတစ်ခါ order form ပုံစံလေးတစ်ခုထပ်ရေးပြပါမယ်။

purchase.html

<html>
<body>
<h4>Art Supply Order Form</h4>
<form id=”form1″ name=”form1″ method=”post” action=”entry.php”>
<select name=”item”>
<option>Paint</option>
<option>Brushes</option>
<option>Erasers</option>
</select>
Quantity : <input name=”quantity” type=”text” />
<input type=”submit” />
</form>
</body>
</html>

entry.php

<html>
<body>
<?
$quan=$_POST[‘quantity’];
$itm=$_POST[‘item’];
echo “You ordered ” . $quan . ” ” . $itm . ” .<br>”;
echo “Thank you for ordering from Art Supplies!”;
?>
</body>
</html>

Get Method

သူကလည်း post method လိုပါပဲ။မတူတာဆိုလို့ သူက address bar မှာခုန ကိုယ်ဖြည့်
လိုက်တဲ့ဒေတာတွေကိုဖော်ပြပါတယ်။post ကျတော့မဖော်ပြပါဘူး။ခုနကရေးထားတဲ့ ဥပမာ
လေးကိုပဲပြန်သုံးပါမယ်။

get.php

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Index</title>
</head>
<body>
<form id=”form1″ name=”form1″ method=”get” action=”welcome.php”>
<table width=”400″ border=”0″>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Name</td>
<td><label>
<input type=”text” name=”tname” id=”tname” />
</label></td>
</tr>
<tr>
<td>Age</td>
<td><label>
<input type=”text” name=”tage” id=”tage” />
</label></td>
</tr>
<tr>
<td><label>
<input type=”submit” name=”Submit” id=”Submit” value=”Submit” />
</label></td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
welcome.php

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Welcome</title>
</head>
<body>
Welcome
<?php
echo $_GET[“tname”];
?><Br>
You are
<?php
echo $_GET[“tage”];
?>
years old.
</body>
</html>

Address bar မှာတစ်ချက်သတိထားကြည့် ကြည့်ပါ။အဲ့လိုပေါ်နေပါလိမ့်မည်။

http://localhost/edu.mz/welcome.php?tname=AAung&tage=23&Submit=Submit

ခုနဥပမာကအတိုင်းတော့မဟုတ်ဘူးနော် နည်းနည်းပြောင်းထားတယ် post နေရာတွေမှာ
Get ကိုသုံးထားတယ်။မှတ်မိသွားအောင် copy/paste မလုပ်ဘဲပြန်ရို်က်လိုက်ပါ။

PHP File

File လို့တာပြောတာပါ တကယ်တမ်းကျ text လေးတစ်ခုပါ။အဲ text ဆိုဘာလုပ်လို့ ရမလဲမေးစရာရှိလာမယ်။အသုံးဝင်ပါတယ်။ဥပမာတစ်ခုဗျာ
ဆိုက်တွေမှာ hit counter ထည့်တာမြင်ဘူးမှာပေါ့။ကိုယ့်ဆိုက်ကိုဘယ်နှစ်ယောက်ကြည့်ထားလဲဆိုတာပေါ်ပြထားတာမျိုးပေါ့။ အဲ့ဒါ ဒီ php file နဲ့ဖန်တီးလို့ရပါတယ်။ နောက်တစ်ခု Vote ပေးတာမျိုးပေါ့ ဒါလဲလုပ်လို့ရပါတယ်။ တစ်ခုလုပ်ဖန်တီးလိုက်ရအောင်..

<?php
$FileName="test.txt";
$FileHandle=fopen($FileName,'w');
fclose($FileHandle);
?>

အဲ့ဒါဆို File တစ်ခုဖြစ်သွားပါပြီ။ကိုယ်သိမ်းထားတဲ့လမ်းကြောင်းအောက်ကိုသွားကြည့်ကြည့်ပါ
test ဆိုတဲ့ text file လေးတစ်ခုတိုးလာတာတွေ့ရပါလိမ့်မည်။လောလောဆယ်တော့ဘာမှ
ရေးထားတာမရှိလို့ ဘာမှပေါ်မည်မဟုတ်ပါ။
fopen ဆိုတာကကိုယ်ဖန်တီးထားတဲ့ file တွေကိုဖွင့်ကြည့်ချင်ရင်သုံးတဲ့ default function ပါ သူ့ နောက်က ‘w’ ဆိုတာက write ကိုပြောတာပါ။File တွေဖွင့်ကြည့်ဖို့က သုံးနည်းရှိပါတယ်။
Write: ‘w’
Read: ‘r’
append: ‘a’
Read , Write ကတော့ရှင်းပါတယ် append ဆိုတာကျတော့ overwrite လုပ်တာပါ။
fclose() ဒါကတော့ဖွင့်ထားတဲ့ file ကိုပြန်ပိတ်တာက File ကိုဖွင့်ချင်ရင် fopen ပိတ်ချင်
fclose ဒီလောက်ဆိုသိလောက်ပြီထင်ပါတယ်။စရေးလိုက်ရအောင်

<?php

$FileName="test.txt";
$FileHandle=fopen($FileName,'w');
$string="Kyaw Kyaw";
fwrite($FileHandle,$string);
fclose($FileHandle);

?>

ရေးမယ်ဆို fwrite function ကိုသုံးပါတယ်။fwrite ထဲမှာရေးချင်တဲ့ text file ကိုထည့်ပါ
တယ်နောက် ရေးလိုတဲ့ စာသားကိုထည့်ပါတယ်။ပြီးရင် ခုန test.txt လေးကိုသွားဖွင့်ကြည့်
လိုက်ပါ Kyaw Kyaw လို့ဝင်နေတာတွေ့ရပါလိမ့်မည်။ဒါက ကိုယ်တိုင်သွားကြည့်တာနော်
ဟုတ်ပြီ ဒီတစ်ခါ Browser ပေါ်ကပဲကြည့်မယ်။text file ကိုဖတ်မယ်ပေါ့။ကုတ်ကိုရေးပြပါမယ်

<?php
$myfile="test.txt";
$fh=fopen($myfile,'r');
$data=fread($fh,1024);
fclose($fh);
echo $data;
?>

ဒီဟာက ဖတ်တဲ့ကုတ်ပါ။fread function သုံးထားပါတယ်။နောက်က 1024 ဆိုတာက
Text ထဲမှာရှိတာအကုန်ဖတ်မယ်လို့ ပြောတာပါ။ထို 1024 နေရာမှာ 5 လို့ ပြောင်းကြည့်
လိုက်ပါ ပြီးပြန်ကြည့်ကြည့် Kyaw ဆိုပြီး 5 လုံးပဲပြပါလိမ့်မယ်။ဘယ့်နှယ့် Kyaw ဆိုတာ
လေးလုံးတည်းပါဆိုပြီးတွေးနေလိမ့်မယ် write လုပ်တုန်းက Kyaw နောက်မှ space ထားခဲ့
တယ်လေ သူက space ပါထည့်တွက်ပါတယ်။

Check End of File

File ရဲ့အဆုံးကိုသိချင်ရင် feof() ဆိုတဲ့ end of file ကိုသုံးပါတယ်။သူက file ထဲမှာဒေတာတွေဘယ်လောက်ရှိနေလဲမသိပဲကြည့်ချင်တဲ့အခါမျိုးမှာအသုံးပြုပါတယ်။
ဥပမာကုတ်ကိုကြည့်ပါ

If(feof($file)) echo “End of file”;

အဲ့ဒီပုံစံမျိုးအသုံးပြုပါတယ်။နောက်တစ်ခုကိုကြည့်ပါ။

<?php
$file=fopen("test.txt","r");
while(!feof($file))
{
echo fgets($file) . "<br>";
}
fclose($file);
?>

ဒါကခုနရေးထားတဲ့ test.txt ထဲကရှိတဲ့ဒေတာတွေကိုဖတ်တဲ့ဟာပါ။ဒီကောင့်ကိုမrunခင်အရင်
ခုန fwrite နဲ့နာမည်လေး ၆ကြောင်း ရကြောင်းလောက်ဖြည့်ထားပါ။while နဲ့ looping ပတ်
တာတော့သိပြီးသားဖြစ်မှာပါ။အခု fgets function သုံးထားပါတယ်။ဒီကောင်ကလိုင်းတစ်လိုင်း
ချင်းစီဖတ်မယ်ဆိုရင်အသုံးပြုတာပါ။ကျန်တာတော့အရင်အတိုင်းပါပဲ။
Line by Line ဖတ်ချင်တဲ့အခါမျိုးမှာ fgets() ကိုသုံးတာသိသွားပြီနော်။အခုတစ်ခါကတော့
Character by Character ဖတ်တဲ့ function ကိုပြောပါမယ်။ထိုသို့ဖတ်ချင်တဲ့အခါ fgetc()
ဆိုတာကိုသုံးပါတယ်။

<?php
$file=fopen("test.txt","r");
while(!feof($file))
{
echo fgetc($file) . "<br>";
}
fclose($file);
?>

ဘာမှသိပ်မပြောင်းသွားပါဘူး fgets နေရာမှာ fgetc ဆိုတာသာပြောင်းသွားတာပါ။
ဒါက အစပိုင်းကပြောခဲ့သလိုပဲ Hit Counter ရေးနည်းလေးပါ။

<?php
$fp=fopen("counter.txt","r");
$count=fread($fp,1024);
fclose($fp);

$count=$count+1;
echo "<p>Hit Counts :".$count."<p>";

$fp=fopen("counter.txt","w");
fwrite($fp,$count);
fclose($fp);

?>

ရလောက်ပြီထင်ပါတယ်။ဒါကြောင့်ဘာမှသိပ်ထွေထွေထူးထူးမရှင်းပြတော့ပါ။

ဒါကအခြေခံတွေပါပဲ။ဒီဟာတွေကိုပိုင်နိုင်ပြီဆိုရင် နောက်ထပ်လေ့လာရာမှာအဆင်ပြေ သွားနိုင်ပါပြီ။ ကျန်တဲ့အပိုင်းကိုတော့နောက်ပိုင်းကိုယ်တိုင်ဆိုက်တစ်ခုကိုဖန်တီးတဲ့အခါမှ သိချင်တာတွေရှိလာမယ်။ လိုအပ်တာတွေရှိလာမယ် အဲ့အခါကျမေးရင်း ရှာရင်းနဲ့ပဲ သိတတ်သွားမှာပါ။ သင်တန်းတော်တော်များများကဒီအခြေခံတွေကိုပဲဥပမာမျိုးစုံ၊ပုံမျိုးစုံနဲ့သင်ကြတာပါ။ တကယ်တော့သဘောတရားကအတူတူပါပဲ။ ပြောစရာရှိလာမယ် server-side လည်းဆိုသေးဘာမှ database နဲ့လည်းချိတ်တာမျိုးတွေ မပါဘူး။ ဒီအတိုင်းကြီးပဲဆိုပြီးထင်နေပါလိမ့်မည်။အဲ့အတွက်လာပါမယ်။ MySQL နဲ့ချိတ်ဆက်
သုံးတဲ့ပုံတွေ။အခုတော့ဒီလောက်ပါပဲခင်ဗျာ။

One Reply to “PHP Basic”

Leave a Reply

Your email address will not be published. Required fields are marked *