[X] Choose Font Here

Creating a simple PHP guestbook

guestbookခု ကြၽန္ေတာ္ေရးတဲ့ POST ကေတာ့ PHP Based Guest Book တစ္ခုကို ဘယ္လို Create လုပ္တယ္ဆိုတာကို

General ရွင္းျပမွာ ျဖစ္ပါတယ္။ ကြၽန္ေတာ္ Site မွာ ဆိုရင္လည္း Guest Book ရွိပါတယ္။ အဲလိုမ်ိဳး Guest Book

ကို ဘယ္လို Create လုပ္တယ္ဆိုတာ ကို Database Structure ေရာ PHP Coding ပါဘယ္လို အလုပ္လုပ္တယ္

ဆိုတာကို အေသးစိတ္ ရွင္းျပမွာ ျဖစ္ပါတယ္။ ကြၽန္ေတာ္ Site မွာ သုံးထားတာကေတာ့ Joomla ရဲ႕ Guest Book

Component တစ္ခု ျဖစ္ပါတယ္။ Logic က အတူတူပါပဲ UI ေတာ့ကြာပါတယ္။ UI ပိုင္းကေတာ့ CSS

ကိုနားလည္ရင္ နားလည္သေလာက္ ႐ိႈင္းလို႔ ရပါတယ္။ Guest Book အေၾကာင္းေလး စလိုက္ၾကရေအာင္ Smile

 

 

Overview အေနနဲ႔ ေျပာမယ္ ဆိုရင္ guestbook ဆိုတဲ့ table တစ္ခုရယ္၊
guestbook.php, addguestbook.php, viewguestbook.php ဆိုတဲ့ php file ၃ ခုပဲ လိုပါတယ္။

guestbook table ကို ပုံထဲမွာ ၾကည့္လို႔ ရပါတယ္။ ဒါကေတာ့ query ျဖစ္ပါတယ္။


CREATE TABLE `guestbook` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`comment` longtext NOT NULL,
`datetime` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Database Site ကလိုအပ္တဲ့ guestbook table ျဖစ္ပါတယ္။ Coding ပိုင္းကို ဆက္လိုက္ၾက ရေအာင္

ပထမ အေနနဲ႔ guestbook.php ကိုစလုပ္ ပါမယ္။ Client Browser မွာ ပုံထဲက အတိုင္းျမင္ရပါမယ္။

 

g1

 

 

 

 

 

 

 

 

 

 

 

 

 

Name, email ဆိုတဲ့ textbox ၂ ခုရယ္၊ comment ဆိုတဲ့ textarea ၁ ခုရယ္၊ Submit, Reset ဆိုတဲ့ Button ၂ ခုရယ္၊

"View GuestBook" ဆိုတဲ့ link တစ္ခုကို ေတြ႔ရမွာ ျဖစ္ပါတယ္။

guestbook.php coding ျဖစ္ပါတယ္။

<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>Test Sign Guestbook </strong></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form id="form1" name="form1" method="post" action="addguestbook.php">


Submit ကို Click ရင္ addguestbook.php ကို run ပါလိမ့္မယ္။

<td>
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td width="117">Name</td>
<td width="14">:</td>
<td width="357"><input name="name" type="text" id="name" size="40" /></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="email" type="text" id="email" size="40" /></td>
</tr>
<tr>
<td valign="top">Comment</td>
<td valign="top">:</td>
<td><textarea name="comment" cols="40" rows="3" id="comment"></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" /> <input type="reset" name="Submit2" value="Reset" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong><a href="viewguestbook.php">View Guestbook</a> </strong></td>


"View Guestbook" link ကို Click ရင္ေတာ့ Entry လုပ္ထားသမ်ွ ေတြကိုျပဖို႔ viewguestbook.php ကို ေခၚပါတယ္။

</tr>
</table>

 

addguestbook.php ကိုဆက္ ၾကည့္လိုက္ရေအာင္

ဒီ ပုံေလး ကေတာ့ addguestbook.php ဘယ္လို အလုပ္လုပ္တယ္ ဆိုတာကို ရွင္းျပထားတာပါ။ Form က Pass လုပ္တဲ့

Data ေတြကို Database ထဲ ဘယ္လို Store လုပ္တယ္ ဆိုတာကို အေသးစိတ္ ရွင္းျပထားတာပါ။

 

g2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

addguestbook.php ရဲ႔ code ပါ

<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="guestbook"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");
$datetime=date("y-m-d h:i:s"); //date time

$sql="INSERT INTO $tbl_name(name, email, comment, datetime)VALUES('$name', '$email', '$comment', '$datetime')";
$result=mysql_query($sql);
//check if query successful
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='viewguestbook.php'>View guestbook</a>"; // link to view guestbookpage
}

else {
echo "ERROR";
}
mysql_close();
?>

 

ေနာက္ဆုံး တစ္ခုကေတာ့ viewguestbook.php ပါ။ Table ထဲက Store လုပ္ထားတဲ့ record ေတြအားလုံးကို looping ပတ္ျပီး

ျပန္႐ိုက္ျပတာ ျဖစ္ပါတယ္။ ပုံေလး ကိုၾကည့္ရင္ ရွင္းသြားပါလိမ့္မယ္။

 

g3

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

viewguestbook.php ရဲ႔ code ျဖစ္ပါတယ္။


<table width="400" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>View Guestbook | <a href="guestbook.php">Sign Guestbook</a> </strong></td>
</tr>
</table>
<br>

<?php

$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="guestbook"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
?>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td><table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td>ID</td>
<td>:</td>
<td><? echo $rows['id']; ?></td>
</tr>
<tr>
<td width="117">Name</td>
<td width="14">:</td>
<td width="357"><? echo $rows['name']; ?></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><? echo $rows['email']; ?></td>
</tr>
<tr>
<td valign="top">Comment</td>
<td valign="top">:</td>
<td><? echo $rows['comment']; ?></td>
</tr>
<tr>
<td valign="top">Date/Time </td>
<td valign="top">:</td>
<td><? echo $rows['datetime']; ?></td>
</tr>
</table></td>
</tr>
</table>
<BR>
<?
}
mysql_close(); //close database
?>


ဒီ coding ကေတာ့ database ထဲက ရလာတဲ့ record ေတြအားလုံးကို HTML ရဲ႔ Table tag ကို သုံးျပီး while loop နဲ႔

႐ိုက္ျပတာျဖစ္ပါတယ္။

ဒါကေတာ့ Guest Book တစ္ခုလုပ္ခ်င္ရင္ သိသင့္တဲ့ Coding နဲ႔ DB Design ပဲျဖစ္ပါတယ္။ Guest Book ရဲ႔ Basic Feature

ကေတာ့ ဒါပါပဲဗ်ာ။ ထပ္ျပီး modify လုပ္ခ်င္တယ္ဆိုရင္ေတာ့ idea ရွိရင္ရွိသေလာက္ လုပ္လို႔ရပါတယ္။

 

Ref: http://www.phpeasystep.com/phptu/15.html

 

တျခား PHP Post ေတြအားလုံး ကို ႏွစ္သက္ရာ ေရြးဖတ္ ခ်င္တယ္ဆိုရင္ ဒီ Link ေလးကို Click လိုက္ပါ။

 

 

 

 

 

Comments (13)
  • sandy

    အကိုရဲ့အဲ) 24;ုိ error တက္ေနတယ္
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\EasyWAMP\www\guestbook\addguestbook.php on line 8
    cannot connect server
    တဲ့

    submit လုပ္လုိက္တ ာနဲ့ addguestbook.php ကိုသြားမယ္ ဟုတ္? အဲဒီ့coding က
    $host="localhost"; // Host name
    $username=""; // Mysql username
    $password=""; // Mysql password
    $db_name="test"; // Database name
    အဲလုိ ဆုိေတာ့ mysql ထဲမွာ..Local host တုိ့ username တုိ့ကို.databaseေƚ 2;ာက္ထားရမွƞ 0;ေပါ့ေနာ္
    ဟုတ္လားဟင္ ..
    SQLyog ေတာ့တင္ထား ေပမယ့္ အဲလုိေတာ့ မေဆာက္ထားဘ ူးးး
    database ကိုလံုး၀မက ုိင္ဖူးဘူး အကိုရ
    ျပီးေတာ့ အကိုေရးထား တဲ့ coding ကုိ trace လုိက္လုိ့ပ ဲရတာ ကိုယ့္ဘာသာ ကုိ code ေရးခ်င္လုိ ့ ဒီေလာက္ပဲသ ိေတာ့အားမရ ဘူး အဲဒါနဲ့ပက္ သက္ျပီး ebook ေတြရွိရင္ေ ပးပါလားဟင္ ..

  • admin  - Re: sandy

    Database ထဲမွာ Table လိုတာေပါ့ ညီမ။ Guest Book လိုမ်ိဳးက Database မရွိပဲ အလုပ္လုပ္လ ို႕ မရပါဘူး။ အေပၚမွာ table script ကိုေပးထားပ ါတယ္။ MySQL ကို သုံးတတ္ရင္ ပိုမိုက္တာ ေပါ့။ လြယ္ပါတယ္။ အေလ့အက်င့္ ပဲ လိုတာပါ ညီမ

    ကြၽန္ေတာ့) 21;ွာ ရွိတဲ့ ebook ေတြကို "DOWNLOAD CENTER BY CATEGORY" ဆိုတဲ့ site ရဲ႔ bottom မွာတင္ေပးထ ားျပီး သားပါ။

  • royallyre7

    ကုိ zack ေ၇ ကၽြန္ေတာ္ေ တာ႔ ေဒတာေဗ႔ကို ကြန္တက္လုပ ္လုိ႔မ၇ဘူး ဟ
    page load error ပဲတက္လာေနတ ယ္ဘာၿဖစ္လု ိ႔လဲဗ်ာ။
    အကုန္လံုးစ စ္ၿပီးပါၿပ ီအဆင္ေၿပေန တပါတယ္။
    ေဒတာေဘ႔ ကြန္တက္၇မ၇ လဲစစ္ၿပီးၿ ပီ ကြန္တက္ရတယ ္
    ဒါေပမဲ႔ guestbook.php ကsubmit ကိုကလစ္လုိ က္၇င္
    pageload error ပဲၿပေနတယ္ဗ ်ာ

  • admin  - Re: royallyre7

    အေပၚက ကြၽန္ေတာ္ျ ပထားတဲ့ sample ကိုလုပ္တာလ ား?? တျခားဟာ တစ္ခုလား??
    ကြၽန္ေတာ္ sample ဆိုရင္ေတာ့ အကို source + DB ကို တေနရာမွာ share လိုက္ပါ။ ကြၽန္ေတာ္ local မွာ ခ်ျပီး စမ္းၾကည့္ေ ပးမယ္။

  • royallyre7

    ကၽြန္ေတာ္) 45;မးပို႔ထား) 17;ါတယ္ဗ်ာ
    ကြန္မန္႔မွ ာတင္တာ 3 ခါရွီၿပီတက ္မလာလုိ႔ေန ာ္

  • admin  - Re: royallyre7

    ဘယ္ Mail ကို send တာလည္း မသိ???။ ကြၽန္ေတာ္ဆ ီ mail မေရာက္ပါ။
    joomzack@gmail.com, joomzack@thadarphyu.net
    ကို send လိုက္ပါ။ ဒါမွ မဟုတ္ တေနရာရာမွာ upload တင္ျပီး Download Link ကို ဒီ comment မွာလာေပးပါ ။

  • royallyre7

    http://www.mediafire.com/file/myi22iwzfim
    အဲဒါေလးပါခ င္ဗ်ာ
    ကၽြန္ေတာ္ လင္႔ေလးနဲ႔ ကြန္႔မန္႔ပ ို႔တာဘာလုိ ႔တက္မလာလဲမ သိဘူးဗ်

  • royallyre7

    ေမးပုိတာက( 96;ၽြန္ေတာ႔ဆ) 42; notify လုပ္တဲ႔ေမး ကို ပို႔လုိက္တ ာပါ spam ထဲေ၇ာက္သြာ းပံုေပၚတယ္ ဗ် တခါမွမပို႔ ဘူးတဲ႔သူပိ ု႔တယ္ဆုိၿပ ီ ကၽြန္ေတာ္ေ စာင္႔ေနပါတ ယ္ဗ်ာ ကိုဇက္၇ဲ႔ အႀကံၿပဳခ်က ္ကိုပါ

  • royallyre7

    ကိုဇက္ေ၇အ) 40;းေတာ႔နာလာ* 23;ပီကၽြန္ေတ) 40;္ကကိုညံ႔လ) 43;ိ႔ေနမွာပါ အဆင္မေၿပဘူ းခင္ဗ်ာ
    ဘာလုိ႔ေနလဲ မသိဘူး wamp ကလဲေအာက္ကပ ံုအတုိင္း 3ပံု2 ပံုက၀ါၿပီး က်န္ 1ပံုကၿဖူေနတ ;ယ္။

    http://www.mediafire.com/file/ymcokmjnzrd/azt.JPG

  • admin  - Re: royallyre7

    ကိုroyallyre7
    ကြၽန္ေတာ္ ထင္တာ wamp service မတတ္တာလည္း ျဖစ္ႏိုင္တ ယ္။ ဒါကေတာ့ ကြၽန္ေတာ္လ ည္း မေျပာတတ္ဘူ း အကို local မွာျဖစ္ေနတ ာဆိုေတာ့။ Guestbook မွာကေတာ့ OK သြားျပီ ကြၽန္ေတာ္ local မွာ စမ္းျပီးမွ ျပန္တင္ေပး လိုက္တာ။

  • royallyre7

    အဆင္ေၿပသြ) 40;းပါၿပိ ကိုဇက္ေ၇
    ကၽြန္ေတာ္ xampp ေၿပာင္းတင္ လုိက္ေတာ႔အ ဆင္ေၿပသြား တယ္
    ခု ဒီ guest ကိုပဲ count လုပ္ခ်င္လု ိ႔စမ္းေနပါ တယ္ အဆင္အေၿပ၇င ္ ေမးပါဦးမယ ္

  • admin  - Re: royallyre7

    ရပါတယ္ ေမးပါ Bro။ It is my pleasure ပါ။ :)

  • aungaung  - ေက်းဇူးတင္လြန္းလို႔ပါ

    တကယ္ေကာင္းတဲ့ ဳကိဳးပမ္းမွဳ အားထုတ္မွဳေတြပါပဲ
    တစ္နည္းအားျဖင့္ ပညာဒါနလို႔ဆိုလိုရပါတယ္
    ko zack ဒီထက္မက ေအာင္ျမင္ပါေစ။

Write comment
Your Contact Details:
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:D:angry::angry-red::evil::idea::love::x:no-comments::ooo::pirate::?::(
:sleep::););)):0
Security
Please input the anti-spam code that you can read in the image.

Login Form

Categories Table View

JoomlaWatch Stats 1.2.9 by Matej Koval

Facebook Share

Share on facebook

Accordion FAQ

mod_joomtouch

Version Iphone

Version Iphone by JoomTouch