[PHP] Guest Book : Part 1 + 5000 HITS!

posted on 01 Sep 2006 14:47 by rije  in Code

วันนี้ผมคิดว่าผมน่าจะมีสติพอจะมาบอกเรื่อง PHP นะครับ
หลังจากไม่ได้นอนมาหลายวัน พอได้นอนยาวๆ แล้วมึนเลยครับ
จาก 2 entry ที่แล้ว ผมได้ฝากเว็บ Guest Book ไว้
ตอนนี้ผมรู้แล้วครับว่าทำไมข้อมูลถึงไม่เข้า database
นั่นเป็นเพราะ database เองครับ -[]- ของฟรีก็งี้แหละครับ!
วันนี้ผมขอลงเรื่อง code : Guest Book อย่างเดียวนะครับ
ผมใช้ MySQL ตัวนี้ครับ ซึ่งไว้คราวหน้าสำหรับเรื่องนี้ครับ

-------------------------------------------------------------------

เริ่มแรกผมออกแบบก่อนว่าจะให้รูปแบบ guest book ผมเป็นยังไง

[*************************************************]

<form method="post" action="gb_save.php" id="form" name="gb">
<table width="400" height="335" valign=top>
<tr><td height=10></td></tr>
<tr><td CLASS=textcon align="right">

name :
<INPUT TYPE="TEXT" NAME="name" id="name"
class=textload VALUE="<? echo $name; ?>">

<br>
e-mail :
<INPUT TYPE="TEXT" NAME="email"
class=textload VALUE="<? echo $email; ?>">

<br>
url :
<INPUT TYPE="TEXT" NAME="url"
class=textload VALUE="<? echo $url; ?>">

<br>
subject :
<INPUT TYPE="TEXT" id="title" NAME="title"
class=textload VALUE="<? echo $title; ?>">
<br>
<TEXTAREA NAME="text" id="text" "ROWS="9"
COLS="60" class=textload><? echo $text; ?> </TEXTAREA>
<input type="hidden" name="name" value="<?=$name; ?>">
<input type="hidden" name="email" value="<?=$email; ?>">
<input type="hidden" name="url" value="<?=$url; ?>">
<input type="hidden" name="text" value="<?=$text; ?>">
<input type="hidden" name="title" value="<?=$title; ?>">

<INPUT TYPE="button" onclick="check()"
NAME="submit" VALUE="s u b m i t" class=textcon>
<INPUT TYPE="RESET" NAME="reset"
VALUE="r e s e t" class=textcon>

</form>

[*************************************************]

จากโค้ด ผมสร้างตารางอยู่ใน <form>...</form>
ผมตั้งชื่อให้ form ว่า gb เพื่อใช้เรียก function มาเช็ค
ส่วนที่เป็นโค้ดด้านใน form คือส่วนที่ให้กรอกรายละเอียด
name , e-mail , url , subject และกล่องข้อความ (textarea)

ใน input ใส่โค้ด VALUE="<? echo $name; ?>"
ใน่ส่วนนี้ไม่จำเป็นต้องใส่ก็ได้ครับ อันนี้เป็นโค้ดตัวเก่า
ที่ผมทำไว้สำหรับ back กลับมาแก้ข้อความเดิมได้นะครับ

พวก input , textarea คงจะไม่งงกันนะครับ ใส่ส่วนของ
input type="button" เมื่อคลิกจะไปทำการ check
ว่าข้อมูลที่กรอกนั้นมีส่วนไหนจำเป็นต้องกรอกแต่
ไม่ได้กรอกบ้าง จะขึ้นหน้าต่างขึ้นมาเตือนครับ

ใส่ไว้ระหว่าง <head>...</head>

[*************************************************]

<script language="javascript">

function check(){
if(document.gb.name.value.length==0){
alert("NAME BLANK IT IS EMPTY");
}
if(document.gb.text.value.length==0){
alert("MESSAGE BLANK IT IS EMPTY");
}
if(document.gb.title.value.length==0){
alert("SUBJECT BLANK IT IS EMPTY");
}

if(document.gb.name.value.length!=0 &&
document.gb.text.value.length!=0 &&
document.gb.title.value.length!=0){

document.gb.submit();
}//end last if

}//END FUNCTION

</script>

[*************************************************]

name ของ form ที่ชื่อ gb ไว้สำหรับเรียก function
ด้านบนนี้ครับ ซึ่งจะเช็คว่า ใส่ name , subject
และข้อความรึเปล่า หากไม่จะขึ้น alert ขึ้นมา ส่วน

if(document.gb.name.value.length!=0 &&
document.gb.text.value.length!=0 &&
document.gb.title.value.length!=0){

document.gb.submit();
}

จะเช็คว่าถ้าหากว่า name , subject และข้อความ
ไม่ว่าง (มีข้อความเขียน) จะ submit ไป
gb_save.php
ซึ่งเพจของ gb_save.php จะว่ากันอีกทีใน entry หน้าครับ

ใน guest book ผมจะให้แสดงข้อความขึ้นมาด้านล่างเลย

[*************************************************]

<?
include("connect.php");
$sql="select * from gb";
$query=mysql_query($sql);
if(!$query){
echo "sql command error";
exit();
}
$row=mysql_num_rows($query);
$i=1;
while($i<=$row){
$data=mysql_fetch_array($query);
$title=$data['title'];
$name=$data['name'];
$email=$data['email'];
$url=$data['url'];
$text=$data['text'];
?>

<table width=370 align=right class=textcon>
<tr><td>
<? echo $title;?>
</td></tr>
<tr><td bgcolor=#696969 class=textw>
<? echo $text;?>
</td></tr>
<tr><td>
<b>Post :</b> <? echo $name;?>
</td></tr>
</table>
<?
$i++;
}
?>

</table>

[*************************************************]

ในที่นี้มี table ซ้อน table ดูตามสีดีๆ นะครับ
ผมให้โค้ด php เป็นสีเขียวออกฟ้าอ่อนๆ นะครับ

ผม include จากเพจ connect.php เข้ามาใช้ (ดูต่อใน entry หน้า)
$sql="select * from gb"; ซึ่งเลือกไฟล์ทั้งหมดในฐานข้อมูล
ซึ่งผมสร้าง table ชื่อ gb ไว้ที่ database ของผม
*
หมายถึงไฟล์ทั้งหมด และผมสร้างตัวแปล query
สำหรับเช็คว่าเชื่อมต่อ sql ได้หรือไม่ และใช้ตัวแปล
$row
เพื่อจะสร้างตารางแสดงข้อมูลจากฐานข้อมูลออกมา

จากนั้นผมสร้าง <table width=370 align=right class=textcon>
เพื่อใช้โชว์ข้อความที่ถูงส่งเข้าฐานข้อมูลไปครับ

สำหรับเพจนี้ผมเซฟโดยใช้ชื่อว่า inguest.php
ดูได้จากลิงค์ไป guest book ที่ 2 entry ที่แล้ว

ถ้าหากมีปัญหาเกิดขึ้นที่ inguest.php ของผมแจ้งให้ทราบ
ด้วยจะดีมากเลยครับ เหอๆ บางทีผมก็ไม่มีเวลาเช็ค
อีกอย่างผมใช้ firefox เปิด แล้วมันจะไม่เหมือนกับ IE
ไว้ entry หน้าจะมาพูดถึงการเชื่อมต่อเข้าฐานข้อมูล
และเกี่ยวกับ My SQL ที่เหลือครับ^[]^/

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ผมลืม counter ตัวเองไป T[]T ตอนนี้มัน 5000+ แล้วครับ!!
ดีจาย~~~~~~~ ขอบคุณที่เข้ามาเยี่ยมชมบล็อคผมนะครับ

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

ขอเมนท์บล็อคตัวเดียว เป็นปล.ครับ
คือเพิ่งสังเกตว่าเขียนไป 110 entry แล้ว
เลขสวยจริงๆ รอ entry หน้าครับจะได้เป็น 111 เอิ๊กๆ
อยากทำให้กลายเป็น entry ที่พิเศษจังครับ
อาจจะมีอะไรให้อ่านก่อนเรื่อง MySQL เอา MySQL ไว้ด้านล่างไรเงี้ย เหอๆ
วันนี้วันที่ 01 เบอร์มือถือมีเลข 8 เพิ่มเข้ามาแล้วนะครับ! ^[]^/

#1 By r i j e on 2006-09-01 14:54

*-------------* เอ้อออ มี 8 แย้วหรอ เ
เบอร์ล้นโลกแล้วเน๊าะเจ้เน๊าะ

#2 By 「 Self + SenSe 」 on 2006-09-01 15:05

ขอบคุณๆ

#3 By ۞ RECCA۞ on 2006-09-04 20:52

-- --* เจ้จะบ้าหรอ ตีมสีฟ้าก็ตีมสีฟ้าสิ ยังอยู่


www.exteen.com/ki-ra
สีฟ้า

www.exteen.com/more-feel
สีชมพู

www.exteen.com/daily-beloved
สีเขียว

www.exteen.com/kira-ne
สีแดง


เจ๊แพรวเคยเข้าสเปซคิป่าวหล่ะ มีอีก



คุณเจ๊เข้าทุกบล๊อครึยางงงง กร๊ากกกกกกกก
เจ้จะเป็นแฟนพันธ์แท้คิเร้อ กร๊ากกกกกกกก
Hi. Test post :
!-!-!-!

#10 By NetoPingeRy (82.232.186.155) on 2007-09-07 13:57

Hi

Very interesting information! Thanks!

G'night

#11 By hiutopor (61.60.74.118) on 2007-09-20 17:50

#12 By (124.120.29.57) on 2008-01-17 10:04



hidden hit counter