บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช...

Preview:

Citation preview

PHP Programing

มาทาใหเวบเราเปลยนภาษาไดกนเถอะ ขนตอนการทา 1. สรางไฟลขนมา1ไฟล ชอะไรกได ผมของตงวา lang-th.php ตวอยาง <?php define("_HOME","หนาหลก"); define("_WEBBOARD","เวบบอรด"); ?>

2. สรางไฟลทเราตองการ จะเปลยนภาษา ตอง include ไฟลดานบนดวยนะครบ ตวอยาง <?php include "lang-th.php"; // แสดงผล echo _HOME; echo _WEBBOARD; ?>

ถาเราตองการทาใหเปลยนภาษาไดก แกตรง include ใหดงไฟลภาษาอนทเราสรางไวครบ หรอจะใช การตรวจสอบเงอนไข มาใชในการเปลยนภาษากไดนะครบ ตวอยาง <?php // exsample 1 $lang="th"; // ประกาศตวแปร หรอ จะประกาศตวแปรผาน url กไดครบ เชน myhost.com/index.php?lang=th if($lang=="th"){ //ถาตวแปร $lang = th กจะ include lang-th.php มา include "lang-th.php"; }elseif($lang=="en"){//ถาตวแปร $lang = en กจะ include lang-en.php มา include "lang-en.php"; }else{ // ถา $lang ไมมคาเลย กจะดง lang-th มา include "lang-th.php"; // Default lang } echo _HOME; echo _WEBBOARD; ?>

วธใชนะครบ ใหเรยกผาน url เชน www.name.com/index.php?lang=th หรอจะประกาศตวแปร $lang ไวกได

การเขยน Script เพอแบงหนา

<?php /*Connect ฐานขอมล */ mysql_connect('localhost','root',''); // connect mysql mysql_select_db('topic'); // select database

/* check วาม คาตวแปร $start หรอไม ถาไมมใหตงเปน 0 ปล. อนนตองใชกบตวแบงนะ หามเอาออก*/ if(!isset($start)){ $start = 0; } $limit = '10'; // แสดงผลหนาละกหวขอ

/* หาจานวน record ทงหมด

ปล. อนนตองใชกบตวแบงนะ หามเอาออก*/ $Qtotal = mysql_query("select * from topic"); //ควร คาสง $total = mysql_num_rows($Qtotal); // หาจานวน record

/* ควรขอมลออกมาเพอแสดงผล */ $Query = mysql_query("SELECT * FROM topic ORDER BY id DESC LIMIT $start,$limit"); //ควรคาสง $totalp = mysql_num_rows($Query); // หาจานวน record ทเรยกออกมา

/* อนน ไมเกยวเอาออกได */ printf("มหวขอทงหมด %d หวขอ / ",$total); printf("แสดงหนาละ %d หวขอ<br />",$totalp); echo "<hr />";

/* วนลปขอมล */ while($arr = mysql_fetch_array($Query)){ echo sprintf("<B>%03d</B>",$arr[id])." - $arr[title]<br />"; // แสดงผล } echo "<hr>";

/* ตวแบงหนา */ $page = ceil($total/$limit); // เอา record ทงหมด หารดวย จานวนทจะแสดงของแตละหนา

/* เอาผลหาร มาวน เปนตวเลข เรยงกน เชน สมมตวาหารได 3 เอามาวลกจะได 1 2 3 */ for($i=1;$i<=$page;$i++){ if($_GET['page']==$i){ //ถาตวแปล page ตรง กบ เลขทวนได echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]"; //ลงค แบงหนา เงอนไขท 1 }else{ echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]"; //ลงค แบงหนา เงอนไขท 2 } } ?>

ตรวจสอบวนทยอนหลง - เดนหนา

ตรวจสอบวนทยอนหลง - เดนหนา เนองจากเราเกบ Format time โดยใช mktime จะสามารถตรวจสอบได วาเมอ 5 วนทแลวตรงกบวนทเทาไร หรออก 3 เดอนจะตรงกบวนทเทาไร ลองมาดตวอยางการทา

ขนตอนการทา

1. เงอนไขทเราจะทา คอ ยอนเวลาเมอ 5 วนทแลวนบจากปจจบนตรงกบวนทเทาไร ทาการสรางไฟลเอกสาร php แลวเขยนโคดดงน ตรวจสอบวนทปจจบน

<? $month=date("m"); //สรางคาเดอนปจจบน $day=date("d"); //สรางคาวนปจจบน $year=date("Y"); //สรางคาปปจจบน $mk_data=mktime(22, 15, 10, $month, $day, $year); //กาหนดคาโดย mktime echo date("M-d-Y", $mk_data); //แสดงผลโดย Format M-d-Y ?>

2. ผลทไดจะมคาเทากบวนทปจจบน ถาเราตองการยอน 5 วน เขยนโคดดงน

<? $month=date("m"); //สรางคาเดอนปจจบน $day=date("d")-5; //สรางคายอนหลงไป 5 วน $year=date("Y"); //สรางคาปปจจบน $mk_data=mktime(22, 15, 10, $month, $day, $year); //กาหนดคาโดย mktime echo date("M-d-Y", $mk_data); //แสดงผลโดย Format M-d-Y ?>

3. ผมจะไมนาผลมาแสดงใหดนะครบ เพราะวาคาทไดจะเทากบวนทปจจบน ดงนนควรท Run ทดสอบผล จากตวอยางเราจะเหนวาคาทเรากาหนดนนจะเปนตวเลขอยแลว เพยงแตกาหนดคา +, - จากคาปจจบนเพยงเทานเรากสามารถทราบอดต, ปจจบน, อนาคต การนาไปประยกตใช เชน ทาปฏทน, Diary, การจาคา Login Webboard

การนาคาจาก Function mktime กลบมาแสดงผล การนาคาจาก Function mktime กลบมาแสดงผล หลงจากทเราไดรจกการใชงาน Function mktime ไปแลวหลายคนอาจจะงงวาจะนามาแสดงผลไดอยางไร ลองมาดตวอยางการทา

ขนตอนการทา

1. สรางเอกสาร php พรอมกบเขยนโคดดงน

<? $mk_data=mktime(22, 15, 10, 10, 18, 2004); echo date("M-d-Y", $mk_data); //แสดงผลโดยใช Format date เปน M-d-Y ?>

2. ผลทได

Oct-18-2004

3. แตถาตองการแสดงผลแบบตวเลขเชนเดม เขยนโคดดงน

<? $mk_data=mktime(22, 15, 10, 10, 18, 2004); echo date("m-d-Y", $mk_data); //แสดงผลโดยใช Format date เปน m-d-Y ?>

4. ผลทได

10-18-2004 การใช Function mktime() การใช Function mktime() เปนฟงคชนใชสาหรบนาคา Time ในรปแบบของ Unix timestamp เพอความสะดวกในการเรยกใชในภายหลง

ขนตอนการใชงาน

1. รปแบบของ Function

mktime ( ชวโมง, นาท, วนาท, เดอน, วน, ป);

2. การกาหนดคา

mktime(22, 15, 10, 10, 18, 2004);

3. นามาทดสอบเพอแสดงคา

<? $mk_data=mktime(22, 15, 10, 10, 18, 2004); echo $mk_data; ?>

4. ผลทได

1098112510 การสม Password การสม Password หลายคนดจาก Title กพอจะทราบ ลองมาดการทากนเลยดกวา

ขนตอนการทา

1. สรางไฟลเอกสาร php พรอมกบเขยนโคดดงน

<? $gen=8; //กาหนดจานวนหลกในการสม $char_pass = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //รปแบบขอความทจะใหทาการสม อาจจะเปลยนเปน A-Z, a-z, 0-9 $password = ""; //กาหนดคาเรมตนใหกบตวแปล password ทใชในการเกบขอมล while(strlen($password)<$gen) { $password .= $char_pass[rand()%strlen($char_pass)]; //ทาการสมพรอมกบเกบคาลง password ใช (.) มาชวยในการรวมขอความทถกสม }

echo $password; //แสดงผลขอมล ?>

2. ผลทได

STA496EZ การสรางแบบทดสอบเขารหส MD5 การสรางแบบทดสอบเขารหส MD5 จากคาถามในกระทในมาเขยนเปนบทความใหศกษากน มาดการทากนเลยครบ

ขนตอนการทา

1. สรางแบบฟอรมจากโปรแกรมทาเวบ ในทนสรางจากโปรแกรมอะไรกไดนะครบ แลวแตถนด จากนนตงชอไฟลเปน form_md5.php ดงตวอยาง

ตงชอ Field = data กาหนด Action ไปทไฟล = encode_md5.php

2. ใครสงสยเรองฟอรม ดโคด Html ทน

<html> <head> <title>MD5</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="encode_md5.php"> ขอมลทตองการเขารหส <input type="text" name="data"> <input type="submit" name="Submit" value="Encode MD5"> </form> </body> </html>

3. สรางไฟล encode_md5.php ดงตวอยาง

<? $encode = md5($data); echo "ขอมลททาการเขารหส คอ <FONT COLOR=\"red\">$data</FONT><BR>"; echo "ทาการเขารหส MD5 เปน <FONT COLOR=\"green\">$encode</FONT>";

?>

4. จากนนลองทดสอบ ดงภาพ

5. ลองนาไปใชงานกบระบบ Login ดนะครบ การทา Counter โดยใชฐานขอมล MySQL การทา counter กเปนอกเครองมอหนงทหลายๆ เวบไซตใชเชคผทเขามาเยยมชมเวบเรา และอกหลายๆ คนกไปโหลด Script มาใชแตยงไมเคยเขยนเอง ผมกเลยยก Script นมาลองใหเขยนกนด มาดขนตอนการเขยนกนเลย

ขนตอนการทา Counter 1. สรางฐานขอมล Mysql เพอเกบขอมล # phpMyAdmin MySQL-Dump # http://phpwizard.net/phpMyAdmin/ # # Host: localhost Database : test # --------------------------------------------------------

# # Table structure for table 'test' #

CREATE TABLE `counter` ( `counter` int(11) NOT NULL default '1' ) TYPE=MyISAM;

INSERT INTO `counter` VALUES (1);

2. หลงจากทเราสราง Database และ ตาราง เรยบรอยแลว เรากสรางไฟล PHP ขนมาแลวเขยนโคด ตงชอวา counter.php ดงน <? $host="localhost"; $username="root"; // user ของ root $password=""; // pass ของ Root ถาไม มกไมตองใสครบ $db="test"; $tb="counter"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได");

/* ทาการตรวจสอบ Counter */ $sql1="Select * From $tb"; $dbquery1=mysql_db_query($db,$sql1); $result1= mysql_fetch_array($dbquery1); $counter=$result1[counter];

echo "คณเขามาเยยมชมเปนคนท "; echo $counter; // echo คาของ conter

/* ทาการ Update Counter โดย+1 */ $counter_new=$counter+1; $sql2="update $tb set counter='$counter_new'"; $dbquery2=mysql_db_query($db,$sql2);

mysql_close(); ?>

3.พอทาเสรจลอง Run ดนะครบกจะไดแบบนครบ * ตวเลขอาจจะไมเทากบตวอยางลอง Refresh ดนะครบ

4. เพยงเทานเรากได Counter มาใชในเวบของเราแลว งายมยครบ * เพมเตมเวลาทเราจะเรยกใชให include("counter.php"); ไวในหนาทเราตองการแสดง

การยาย Folder ทเกบไฟล php ใน Apache บทเรยนนบางคนอาจจะงงวาเปลยนทาไมของเดมทเกบอยท C:/AppServ/www กดอยแลว แตเคยหรอไมครบเวลา Format เครองตองมานงยายไฟลใหมเสยเวลา สเรายายตงแตแรกดกวา เวลาจะทาอะไร จะไดไมตองกลววาไฟลจะหาย ขนตอนหารทา 1. เปดไฟล httpd.conf ทอยใน C:\AppServ\apache\conf หรอใช Windows หากไดครบ จากนนใช Text Editor เปดไฟลขนมาแกไข #DocumentRoot "C:/AppServ/www" <-- จะอยบรรทดท 303 ใหแกเปน Folder ทเราตองการเกบไดฟไหนกระบเขาไปดวยนะครบ DocumentRoot "D:\HtDocs" <-- จากตวอยางผมเกบทไดฟ D: Folder HtDocs ถาแกไมถกใหดจากภาพ

//อยาลม Stop Apache กอน แลวคอน Start ขนมาใหมนะครบไมเชนนนโปรแกรมยงคงใชทเกบไฟลทเดม กลองนาไปใชกนดนะครบเพอความสะดวก

การเปดใชงานโหมด Graphic ใน php การใชงานในโหมด Graphic ใน php เราจาะตองไปเปด Function ใน php.ini แตผมวาหลายๆคน พอเปดใชงานแลว Error กยงไมสามารถใชงานไดอยด ใครทมปญหามาดวธการทา ขนตอนการทา 1. เปดไฟล php.ini ขนมาดวยโปรแกรม text editor หาบรรทดทเขยนวา extension=php_gd2.dll ถาเปดดวยโปรแกรมทสามารถบอกบรรทดไดจะอยทบรรทด 569 โดยปกตจะปดดวยเครองหมาย (;) ใหเราลบเครองหมายทอยหนาบรรทดนนออกดงภาพ

2. หลงจากนนให Copy ไฟล php_gd2.dll ทอยใน Folder C:\AppServ\php\ext ถาหาไมเจอดาวนโหลดไดทน php_gd2.zip หลงจากท Copy แลวใหนาไปวางท Folder system32 ทอยใน window หรอ winnt ถาเปนวนโดวส 2000, XP ดงภาพ

3. หลงจากนน Stop Apache และทาการ Start ขนมาใหมและนา Script นลองทดสอบดวาสามารถเขยนรปภาพจาก php ไดหรอไม <?php header("Content-type: image/png"); $im = @imagecreate(250, 50) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 255, 255, 255); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 5, 5, 5, "A Simple Text String", $text_color); imagestring($im, 5, 5, 25, "Webthaidd.COM ^^!", $text_color); imagepng($im); imagedestroy($im); ?> 4. ถาใชงานโหมด Graphic ไดจะไดผมดงภาพ

5. เปนอยางไรบางครบคงไมยากนะครบ ลองนาสรางภาพสวยๆ ไดอยางไรสงภาพมาใหดกนบางนะครบ ^^! การทา Poll ตอนท 1 (สรางฐานขอมล) การทา Poll ตอนท 1 (สรางฐานขอมล) เปนอก Script ทหลายๆ คนหาดาวนโหลด แตถาเราทา Webboard บทความกอนหนานไดเรากสามารถทา Poll ไดเชนกน ในบทความชดนอาจจะยาวซกเลกนอยเพราะจะมระบบ Admin จดการหวขอของ Poll ดวย ทาตามทละขนตอนจะไมงง มาดขนตอนการทา ขนตอนการทา * ในการทดสอบนผมใช Database ชอ Vote 1. สรางฐานขอมลสาหรบ Admin เพอจดการกบ Poll CREATE TABLE admin ( username varchar(20) NOT NULL, password varchar(20) NOT NULL );

INSERT INTO admin VALUES ( 'test', '1234');

2. สรางฐานขอมล Poll เ พอใชในการกาหนดหวขอ CREATE TABLE poll ( pollid int(11) NOT NULL auto_increment, qpoll tinytext NOT NULL, active char(3) DEFAULT 'no' NOT NULL, PRIMARY KEY (pollid) ); 3. สรางฐานขอมล Poll_ans เพอใชในการเกบผมโหวด CREATE TABLE poll_ans ( ansid int(11) NOT NULL auto_increment, pollid int(11), ans varchar(20) NOT NULL, votes int(11) DEFAULT '0', PRIMARY KEY (ansid) ); 4. ใหดในฐานขอมล Admin จะมขอมลของ Admin อยเราจะใชในการทดสอบดวย หรอจะตงตวอนกไดนะครบ user = test pass = 1234

การทา Poll ตอนท 2 (สรางไฟล Config เชอมตอฐานขอมล) การทา Poll ตอนท 2 (สรางไฟล Config เชอมตอฐานขอมล) อยางทรกนถาเราเขยนงานใหญๆ ตองมการตดตอฐานขอมลหลายๆ ครงดงนนเรากสรางไฟล Config เอาไวเพอเรยกใชทหลงได ขนตอนการทา 1. สรางไฟล PHP ขนมาแลว Save ชอวา config.inc.php แลวนาโคดดานลางนเขยนลงในไฟล <? $host = "localhost"; $user = ""; $passwd = ""; $dbname = "vote"; //ชอฐานขอมล mysql_connect($host,$user,$passwd) or die("No Connect Syatem"); mysql_select_db($dbname) or die("No Connect Database"); ?> 2. เวลาทเราเรยกใชใหเราใชคาสง include(); ตวอยาง include('config.inc.php');

การทา Poll ตอนท 3 (การทาระบบ Admin เพอกาหนดหวขอ Poll) การทา Poll ตอนท 3 (การทาระบบ Admin เพอกาหนดหวขอ Poll) ระบบนเปนระบบสาคญทจะชวยใหเราสามารถกาหนด Poll ไดเลยวาเราจะใช Poll หวขอไหนในการโหวด มาดขนตอนการทา ขนตอนการทา 1. สรางไฟล admin.php เพอทเราจะใชเปนแบบฟอรมของผดแลระบบ

โคดทใชเขยน <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"></head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="login.php"> <table width="150" border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>Admin</b> <b><font color="#FF0000">Poll</font></b></td> </tr> <tr> <td>User Login</td> </tr> <tr> <td> <div align="center"> <input type="text" name="username"> </div> </td> </tr> <tr> <td>Password</td> </tr> <tr> <td> <div align="center"> <input type="password" name="password"></div> </td> </tr> <tr> <td> <input type="submit" name="Submit" value="Login"> </td> </tr> <tr> <td>&nbsp;</td> </tr>

<tr> <td><font size="2">By Webthaidd.com</font></td> </tr> </table> </form> </body> </html>

2. หลงจากนนสรางไฟล login.php เพอเชคและเขาสระบบ Admin Poll

โคดทใชเขยน <? include('config.inc.php'); $sql = mysql_query("SELECT * FROM admin WHERE username='$username' AND password='$password'"); $num_row = mysql_num_rows($sql); if($num_row!=1){ echo "ขอมลทคณปอนไมถกตอง<BR>"; echo "[<a href='javascript:history.back(1)'>กลบไปปอนขอมลใหม</a>]"; exit(); } ?> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874">

</head>

<body bgcolor="#FFFFFF"> <form name="form1" method="post" action="add_admin.php"> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center"><b>Poll <font color="#FF0000">Admin</font></b></td> </tr> <tr> <td><font size="2"><b>คาถามสารวจ</b></font></td> </tr> <tr> <td> <div align="center"> <input type="text" name="qpoll" size="30"> </div> </td> </tr> <tr>

<td><b><font size="2">หวขอสารวจ</font></b></td> </tr> <tr> <td>1:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>2:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>3:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>4:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>5:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td height="30"> <input type="submit" name="Submit" value="Add Poll"> <input type="reset" name="Submit2" value="Reset"> </td> </tr> <tr> <td height="30"><font size="2">By Webthaidd.com</font></td> </tr> </table> </form> </body> </html>

3. จากนนสรางไฟล add_admin.php เพอใชในการจดเกบขอมลท Admin ปอน <? include('config.inc.php'); $count_ch=count($ch); $newpollquest = mysql_query("INSERT INTO poll (qpoll) VALUES ('$qpoll')"); //จดเกบหวขอ $querypoll = mysql_query("SELECT * FROM poll WHERE qpoll='$qpoll'"); while($pollrow=mysql_fetch_array($querypoll)){ $pollid = $pollrow['pollid']; }

$n=0; while($n<$count_ch){ if($ch[$n]){ $newpollanswer = mysql_query("INSERT INTO poll_ans (pollid,ans) VALUES ('$pollid','$ch[$n]')"); //จดเกบรายระเอยดหวขอโหวดตางๆ } $n++; }

echo "เพมหวขอในการโหวดเรยบรอยแลว<BR>"; echo "<A HREF=\"set_active.php\">ตง Active หวขอโหวด</A>"; ?> 4. จากนนจะสงเกตวาเราจะ Link ไฟลไปยง set_active.php อานตอนตอไปนะครบ ^^

การทา Poll ตอนท 4 (การสราง Set Active ใหกบหวขอทจะโหวด) การทา Poll ตอนท 4 (การสราง Set Active ใหกบหวขอทจะโหวด) หลายคนอาจจะงงวามนคออะไร จรงๆแลว Poll ทเรากาลงทาอยนสามารถเพมหวขอในการสารวจได แตเนองดวยมหลายหวขอ Script ไมสามารถรเลยวาจะใชหวขอไหน ดงนนเราจงตองเขยน Script Set Active ใหกบ Poll ขนตอนการทา 1. สรางไฟล set_active.php เพอใชในการกาหนด Poll

โคดทเขยนในไฟล <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="set_active.php"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>Poll <font color="#FF0000">Active</font></b></td> </tr> <tr> <td><font size="2">ตง Active เพอกาหนดหวขอโหวด</font></td> </tr> <? include('config.inc.php'); if($active_submit){ $sql = mysql_query("UPDATE poll SET active='no' WHERE active='yes'");

$sql = mysql_query("UPDATE poll SET active='yes' WHERE pollid=$active_choice[0]"); } $query = mysql_query("SELECT * FROM poll"); while($row = mysql_fetch_array($query)){ $pollid = $row['pollid']; $qpoll = $row['qpoll']; $active = $row['active']; if($active=="no"){ $check=""; }else $check="checked"; echo "<tr> <td> <input type=\"radio\" name=\"active_choice[]\" value=\"$pollid\" $check> $qpoll </td> </tr>"; } ?> <tr> <td height="30"> <input type="submit" name="active_submit" value="Active"> </td> </tr> <tr> <td height="30"> <A HREF="vote.php">กลบไปหนาโหวด</A> </td> </tr> <tr> <td><font size="2">By Webthaidd.com</font></td> </tr> </table> </form> </body> </html> 2. ตอไปเราจะตองสรางไฟล vote.php เพอจะใชในการ Vote อานตอนตอไป

การทา Poll ตอนท 5 (การสรางหนา Vote และหนาแสดงผล) การทา Poll ตอนท 5 (การสรางหนา Vote และหนาแสดงผล) เปนบทความทสดทายทเราจะไดทดสอบระบบ Poll ทเราทาวาใชงานไดมากนอยแคไหน ในบทความนจะม 2 สวนคอสวนของการ Vote กคอหนาหลก แลวสวนแสดงผลในหนานจะทาการเกบผมไปดวยในตว ขนตอนการทา 1. สรางไฟล vote.php เพอใชเปนหนาหลกในการโหวด

โคดทใชเขยน <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="add_poll.php"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>Webthaidd</b> <b><font color="#FF0000">Poll</font></b></td> </tr> <tr> <td> <? include('config.inc.php'); $query = mysql_query("SELECT * FROM poll WHERE active='yes'"); while($row = mysql_fetch_array($query)){ $pollid = $row['pollid']; $qpoll = $row['qpoll']; echo $qpoll."<BR>"; //แสดงหวขอ Poll } $query = mysql_query("SELECT * FROM poll_ans WHERE pollid=$pollid ORDER BY ansid"); while($row = mysql_fetch_array($query)){ $ansid = $row['ansid']; $ans = $row['ans']; $n++; if($n==1){$check="checked";}else $check=""; echo "<input type=\"radio\" name=\"choice[]\" value=\"$ansid\" $check> $ans<BR>"; //แสดงรายระเอยดของหวขอทโหวด และฝากคา ansid } ?> <input type="hidden" name="pollid" value="<? echo $pollid;?>"> //ฝากตวแปลหวขอโหวด</td> </tr> <tr> <td height="30"> <input type="submit" name="Submit" value="Vote"> </td> </tr> <tr> <td><font size="2">By Webthaidd.com</font></td>

</tr> </table> </form> </body> </html> 2. หลงจากนนสรางไฟล add_poll.php เพอใชในการเกบผลโหวด และแสดงผล

<? include('config.inc.php'); $sql = mysql_query("SELECT * FROM poll_ans WHERE ansid='$choice[0]'"); $query = mysql_fetch_array($sql); $votes = $query['votes']+1; //บวกเพมไป 1 ตามหวขอทโหวด $sql = mysql_query("UPDATE poll_ans SET votes='$votes' WHERE ansid='$choice[0]'"); $query = mysql_query("SELECT * FROM poll WHERE active='yes'"); while($row = mysql_fetch_array($query)){ $pollid = $row['pollid']; $qpoll = $row['qpoll']; echo $qpoll."<BR>"; //แสดงหวขอ Poll } $query = mysql_query("SELECT * FROM poll_ans WHERE pollid=$pollid ORDER BY ansid"); while($row = mysql_fetch_array($query)){ $ansid = $row['ansid']; $ans = $row['ans']; $votes = $row['votes']; $n++; if($n==1){$check="checked";}else $check=""; echo "&#149; $ans = $votes<BR>"; //รายละเอยดของหวขอโหวดตางๆ } echo "<A HREF=\"vote.php\">กลบหนาโหวด</A>"; ?> 3. ทายนหลายคนอาจจะสรางไดแลวกลองนาไปใชกนดครบ สวนวธการใชผมจะเขยนในตอนหนา

การสรางตวแปล Array สวสดครบ ในบทความนจะกลาวถงการสราง Array เพอใชในการเขยน PHP จะทาใหเราเขาถงขอมลไดงาย การสรางตวแปล Array นนจะมดวยกนหลายแบบในทนผมจะขอกลาวแบบรวมๆ การสราง Array 1. การสราง Array โดยกาหนดขอมลเปนตวเลข <? $number=array(1,2,3,4,5,6,7,8,9);

?>

2. หลงจากทเราไดสรางตวแปล Array เสรจแลวถาเรจะแสดงผลจะสงเกตไดวาเราไมสามารถแสดงขอมลโดยตรงได ลองดจากการทดลอง <? $number=array(1,2,3,4,5,6,7,8,9); echo $number; ?> ผลทไดหลงจากทเราได Run แลว Browser จะบอกวา Array เนองดวย Array จะเกบขอมลแบบเปนหองเราจะตองมการอางองทอยวาเราตองการขอมลสวนไหนออกมาแสดง ตวอยาง <? $number=array(1,2,3,4,5,6,7,8,9); echo $number[1]; ?> ผลทไดจะเทากบ 2 หลายคนอาจจะแปลกใจวาเราระบใหขอมลทหองท 1 ออกมาแสดงแลวทาไมผลถงไดเปน 2 ได (จรงๆ แลวการเกบขอมลของ Array เปนหองกจรงแตหองทเกบขอมลหองแรกนนจะเปนตาแหนงหองท 0) 3. การแสดงผล Array แบบหลายหองโดยอาศยคาสง Loop <? $number=array(1,2,3,4,5,6,7,8,9); for($n=0;$n<9;$n++){ echo "Array หองท $n มคา =".$number[$n]."<BR>"; } ?> ผลทได Array หองท 0 มคา =1 Array หองท 1 มคา =2 Array หองท 2 มคา =3 Array หองท 3 มคา =4 Array หองท 4 มคา =5 Array หองท 5 มคา =6 Array หองท 6 มคา =7 Array หองท 7 มคา =8 Array หองท 8 มคา =9 4. เราสามารถเขยนไดอกแบบโดยใช Loop แบบ Foreach <? $number=array(1,2,3,4,5,6,7,8,9); foreach($number as $value){ $n++; echo "Array หองท $n มคา =".$value."<BR>"; } ?> ผลทได

Array หองท 1 มคา =1 Array หองท 2 มคา =2 Array หองท 3 มคา =3 Array หองท 4 มคา =4 Array หองท 5 มคา =5 Array หองท 6 มคา =6 Array หองท 7 มคา =7 Array หองท 8 มคา =8 Array หองท 9 มคา =9 ใหสงเกตวาผลทไดออกมาเหมอนกน 5. บทความนขอกลาวถงการกาหนดขอมล Array แบบตวเลขไวแคนกอน ในบทความตอไปจะเปนการกาหนดโดยม String เขามาเกยวของดวย

การสราง New เมอมคนตงกระท การสราง New เมอมคนตงกระท ตอนท 7 หลายคนคงจะรอกนนานกบบทความ จรงๆ โปรเจคยงไมจบแตมาเขยนบทความใหอานกนกอน ในบทความนกเปนบทความเกยวกบการสราง New เมอมคนเขามาโพสตกระทในเวบบอรดของเราจะ new ยงไงกตองมโคดเดมกนกอนนะครบ ผมจะขอเขยนเสรมจากเดมเลยละกน ^^ ขนตอนการทา 1. กอนอนมาด Field ทเราจะนามาใชกนกอน

date_q = วนทผใชโพสตขอความลงบอรด

2. เตรยมรปภาพ

//อาจจะใชรปอนกไดนะครบ

3. หลงจากนนเขยนโคดไวในหนา webboard.php

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); $sql = "select * from quiz order by id_quiz desc"; $dbquery = mysql_db_query($dbname, $sql); $date_check=date("d/m/y"); //หาวนทปจจบน [สวนทเพม] // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) {

$result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; $count_q = $result[count_q];

//check วนท เพม Script if($date_check==$date_q){ $img_new="<img src=\"new.gif\" width=\"28\" height=\"11\">"; }else { $img_new=""; }

echo "<FONT COLOR=\"red\"><b>".sprintf("%05d", $id_quiz)."</b></FONT>"; //แสดงหมายเลขแบบมเงอนไข echo " <A HREF=\"show_ans.php?id_quiz=$id_quiz\" target=\"$id_quiz\">$title</A> <FONT COLOR=\"blue\">$date_q $img_new</FONT> $name<BR>"; //นาตวแปลวางตอคาถาม

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> </body> </html>

4. ผลทได

5. ลองนาไปใชกนดนะครบ ^^! ใครเขยนตอดๆ สามารถสงมารวมไดนะครบ การสงคาตวแปลผาน Cookies การสงคาตวแปลผาน Cookies หลายๆ คนถามเขามา กนามาเขยนเปนบทเรยนใหไดศกษากน จรงๆ การทเราใช Cookie นนเปนการฝงคาตวแปลไวทเครองของผใชบรการเวบไซตนนๆ และหลายๆ คนคงจะไมชอบเจา Cookie นซกเทาไรนก แตแนนอนคนทชอบกคงจะเปนคนทาเวบอยางเราๆ เพราะจะไดสะดวกในการสงคา ดอยางไรมาลองดกนครบ ขนตอนการทา ในทนเราจะสรางไฟลทดลองขนมา 2 ไฟล เพอใชในการทดสอบในการสงคา นนคอไฟล index.php จะทาการสงคาไปทไฟล show.php 1. สรางไฟล index.php แลวเขยนโคดดงน

<?

setcookie ("web", "Webthaidd.Com"); //ตวแปลทเรากาหนดคอตวแปล web echo "<A HREF=\"show.php\">แสดงคาในหนาถดไป</A>"; ?>

2. หลงจากนนสรางไฟล show.php ขนมาแลวเขยนโคดดงน

<? echo "แสดงคาตวแปล<BR>"; echo $web; ?>

3. หลงจากนนลองทดสอบโดย Run ไฟลจาก index.php ผลทได

แสดงคาตวแปล Webthaidd.Com

ลองนาไปประยกตใชกนดนะครบ การทาระบบ Login โดยใชฐานขอมล การทาระบบ Login โดยใชฐานขอมล มหลายคนถามกนเขามา โดยวธทานนจะมหลายแบบดวยกนแลวแตวาเราจะเขยน แตในทนผมจะเขยนในสวนทสามารถนาไปประยกตตอกนได ลองมาดขนตอนการทา

ขนตอนกาทา 1. ใหเราสราง Database ขนมากอนเพอใชในการเกบคา user และ pass

# phpMyAdmin MySQL-Dump # http://phpwizard.net/phpMyAdmin/ # # Host: localhost Database : test # --------------------------------------------------------

# # Table structure for table 'user_login' #

CREATE TABLE user_login ( id int(11) NOT NULL auto_increment, user_log char(15) NOT NULL, pass_log char(15) NOT NULL, PRIMARY KEY (id) );

# # Dumping data for table 'user_login' #

INSERT INTO user_login VALUES ( '1', 'guest', '1234');

2. หลงจากนนใหเราสรางฟอรม Login ในทนผมใชชอไฟลวา form_login.php (* ถาฟอรมทคณ

สรางนนไมใชภาษา php สามารถ save เปนไฟล HTML ได)

ใครงงดโคดทน form_login.php

<? session_start(); ?> <html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="check.php"> User : <input type="text" name="username_log"> //ชอตวแปลทใชในการสงคา <br> Pass : <input type="password" name="password_log"> //ชอตวแปลทใชในการสงคา

<? echo $code_error;?> <br> <input type="submit" name="Submit" value="Login"> </form> </body> </html>

3. ทาการเขยนโคดทไฟล check.php เพอตรวจสอบการ Login ของผใช

<? session_start(); $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "user_login"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได");

// เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได");

// คาสง SQL และสงใหทางาน $sql = "select * from $tblname where user_log='$username_log' and pass_log='$password_log'"; //เชคคาขอมลทสงมาจากฟอรม

$dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมล $num_rows = mysql_num_rows($dbquery); if($num_rows==1){ header("location:http://www.webthaidd.com"); //ไปไปตามหนาทคณตองการ }else { $code_error="<BR><FONT COLOR=\"red\">ขอมลทคณกรอกไมถกตอง กรณา Login ใหมอกครง</FONT>"; session_register("code_error"); header("location: form_login.php"); //ไมถกตองใหกบไปหนาเดม } ?>

4. หลงจากนนลองทดสอบด user=guest pass=1234 - ถาถกตองจะเขาไปทเวบ webthaidd หรอหนาทเรากาหนดนนๆ - ถาผดจะแจง error ตามขอความทเรากาหนด

การเปลยนตวเลขเปนตวอกษร โคดแปลงตวเลขเปนตวอกษร

<? $number=25621.18; //ใสตวเลขทน $digit=array('ศนย','หนง','สอง','สาม','ส','หา','หก','เจด','แปด','เกา','สบ'); $num=array('','สบ','รอย','พน','หมน','แสน','ลาน'); $number = explode(".",$number); $c_num[0]=$len=strlen($number[0]); $c_num[1]=$len2=strlen($number[1]); $convert=''; //คดจานวนเตม for($n=0;$n< $len;$n++){ $c_num[0]--; $c_digit=substr($number[0],$n,1); if($c_num[0]==0&& $c_digit==1)$digit[$c_digit]='เอด'; if($c_num[0]==0&& $c_digit==2)$digit[$c_digit]='สอง'; if($c_num[0]==1&& $c_digit==2)$digit[$c_digit]='ย'; if($c_num[0]==1&& $c_digit==1)$digit[$c_digit]=''; $convert.=$digit[$c_digit]; $convert.=$num[$c_num[0]]; } $convert .= 'บาท'; if($number[1]==''){ $convert .= 'ถวน'; } //คดจดทศนยม for($n=0;$n< $len2;$n++){ $c_num[1]--; $c_digit=substr($number[1],$n,1); if($c_num[1]==0&& $c_digit==1)$digit[$c_digit]='หนง'; if($c_num[1]==0&& $c_digit==2)$digit[$c_digit]='สอง';

if($c_num[1]==1&& $c_digit==2)$digit[$c_digit]='ย'; if($c_num[1]==1&& $c_digit==1)$digit[$c_digit]=''; $convert.=$digit[$c_digit]; $convert.=$num[$c_num[1]]; } if($number[1]!='')$convert .= 'สตางค'; echo $convert.=''; ?>

หลงจากนนเพอนๆ ลองทดสอบดนะครบ จากโคดนจะไดผมดงน กลองใชดนะครบ ตชมการเขยนไดท Board อาจมคนเขยนดกวาผมกได :) สองหมนหาพนหกรอยยสบเอดบาทสบแปดสตางค

การแปลงฐานขอมลจาก Access มาใสใน MySQL การแปลงฐานขอมลจาก Access มาใสใน MySQL หลายคนถามเขามา กเปนปญหาแนครบถาเราจะมานงคยขอมลใหมทงหมด แลวยงโปรแกรมเมอรอยางเราๆ คงไมอยากทจะมานงพมพ สเราแปลงขอมลแลว Dump ทเดยวเลยดกวา มาขนตอนการทา ขนตอนการทา * ขอทดสอบจากฐานขอมล Access ของผมเพอความเขาใจทตรงกน Download-Access 1. เราจะตองทราบโครงสรางขอมลจาก Access กอนเพอจะไดนาไปสรางฐานขอมลใน MySQL โครงสรางฐานขอมล Access

2. ใหเราทาการสรางฐานขอมล MySQL กอนโดยมโครงสรางดงน * โดยททง 2 ฐานขอมลจะตองมโครงสรางทเหมอน หรอคลายกน

# # Table structure for table 'customer' #

CREATE TABLE customer ( id char(3) NOT NULL, name char(30) NOT NULL, surname char(30) NOT NULL, address char(50) NOT NULL, PRIMARY KEY (id) );

3. เมอเราสรางฐานขอมล MySQL เรยบรอยแลว เรากทาการ Export ขอมล Access มาเปน Text File เพอทจะนาขอมลท Export มานไปใสใน MySQL อกทหนง โดยขนตอนมดงน 3.1 เปดเอกสาร Access ขนม

3.2 Click ขวาทตารางในทนผมใชตาราง Customer เลอกทเมน บนทกเปน/การสงออก

3.3 จากนนจะมหนาตางการบนทกมาใหเราเลอกใหเราคลก ตกลง

3.4 ใหเลอกชนดในการบนทกเปน Text File

3.5 จะมหนาตางขนมาใหเราเลอกรปแบบการ Export ใหเราเลอก Next เพอทาขนตอนตอไป

3.6 จากนนจารปแบบวาเราใชเงอนไขอะไรบางในการกาหนด Field Export ในทนผมใช Comma เปนตวขนเมอจบ Field, ใชสญลกษณฟนหน ขอมลระหวาง Field

4. หลงจากทเราได Text File แลว (แตถาใครไมได Download ทน) ใหเราเปด phpMyAdmin ขนมา ในทนผมใชเวอรชน 2.5.4 เลอกฐานขอมลทเราสราง ใหเราเลอกเครองมอ แทรกขอมลจากไฟลขอความเขาไปในตาราง โดยเครองมอจะอยดานลางสดของหนา

5. เลอก Text File แลวกาหนดรปแบบในการ Dump ขอมลลง MySQL

6. จากนนโปรแกรมจะบอกวาทาการ Dump ไปแลวกแถว

7. ลองเปดดฐานขอมลวามขอมลมาหรอไม

##### กจบลงไปแลวสาหรบการแปลงฐานขอมล Access --> MySQL ยาวหนอยนะครบ ขอใหสนกกบการทาเวบ

ปองกนผใชกรอก E-mail มวดวย Java ปองกนผใชกรอก E-mail มวดวย Java หลายครงทพวกเราชาวเวบมาสเตอรสรางฟอรมใหผใชกรอกใบสมครตางๆ บางคนกกลวเรองการกรอกขอมลอยางมาก E-mail กเปนสวนหนง คราวนเราจะมากนผใชกรอกเมลแตลมใส @ อะไรแบบนน มาดขนตอนการทา ขนตอนการทา 1. สรางฟอรมตามทเราตองการ ในทนผมทดสอบแคเมลอยางเดยวนะครบเพอกนการสบสน ???

2. หลงจากนนใหเรานาโคด Java ไปวางในสวนของ Head ในโคด HTML

<script type="text/javascript"> function validate() { form_mail=document.form1 mail=form_mail.email.value.indexOf("@") submitOK="True" if (mail==-1) { alert("คณยงไมไดใส (Email)") submitOK="False" } if (submitOK=="False") { return false } } </script>

3. หลงจากนนเขยนโคดท Tag Form เพอเรยกใช Function

<form name="form1" method="post" action="" onsubmit="return validate()">

4. หลงจากนนกลองทดสอบดครบ ถากรอกโดยไมม @

5. ถาใครงงดโคดทงหมดทน

<html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> <script type="text/javascript"> function validate() { form_mail=document.form1 mail=form_mail.email.value.indexOf("@") submitOK="True" if (mail==-1) { alert("คณยงไมไดใส (Email)") submitOK="False" } if (submitOK=="False") { return false } } </script> </head>

<body bgcolor="#FFFFFF"> <form name="form1" method="post" action="" onsubmit="return validate()"> E-mail <input type="text" name="email"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

6. ขอใหสนกกบการทาเวบ การนา User Online ไปใชงาน การนา User Online ไปใชงาน 1. หลงจากทเราเขยน Script User Online เสรจแลว ใหเรา Include ไฟล User Online ไปไวทไฟลทเราตองการแสดง ดงโคดตวอยาง

<? include('user_online.php');?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body bgcolor="#FFFFFF">

</body> </html>

2. หลงจากนนใหใส Comment บรรทดทผมกาหนดไว

//echo "กาลงใชงานอย : $user_online คน"; //ทดสอบการแสดงผล ถานาไปใชใหปด หรอลบบรรทดนออกไป

3. หลงจากนนเราเขยนโคด php เพมลงไป ณ ตาแหนงทเราตองการแสดงผล ในทนผมจะยกตวอยางการแสดงใน Table ดงโคดตวอยาง

<? include('user_online.php');?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body bgcolor="#FFFFFF"> <table width="150" border="0" cellpadding="0" bgcolor="#000000"> <tr> <td bgcolor="#FF9900" align="center">กาลงใชงาน <? echo $user_online;?> ทาน </td> </tr> </table> </body> </html>

4. ผลลพธทได

5. กจบลงไปแลวกบ User Online ลองนาไปใชกนด ขอใหสนกกบการทาเวบ การทา User Online การทา User Online กเปนอกเครองมอหนงทหลายๆ เวบไซตใชเชคผทเขามาเยยมชมเวบเราวากาลงใชงานอยกคน และอกหลายๆ คนกไปโหลด Script มาใชแตยงไมเคยเขยนเอง ผมกเลยยก Script นมาลองใหเขยนกนด มาดขนตอนการเขยนกนเลย

ขนตอนการทา User Online 1. สรางฐานขอมล Mysql เพอเกบขอมลของผเยยมชม

# phpMyAdmin MySQL-Dump # http://phpwizard.net/phpMyAdmin/ # # Host: localhost Database : test # --------------------------------------------------------

# # Table structure for table 'user_online' #

CREATE TABLE user_online ( session char(100) NOT NULL, time int(11) DEFAULT '0' NOT NULL );

2. หลงจากทเราสราง Database และ ตาราง เรยบรอยแลว เรากสรางไฟล PHP ขนมาแลวเขยนโคดดงน

<? session_start(); $session=session_id(); $time=time(); $time_check=$time-600; //กาหนดเวลาในทนผมกาหนด 10 นาท $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; //กาหนด Database $tblname = "user_online"; //กาหนดตารางทเกบขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $session_db = mysql_query("select count(*) from $tblname where session='$session'"); $session_check = mysql_result($session_db,0); if ($session_check == "0") { mysql_query("insert into $tblname values ('$session',$time)"); } else { mysql_query("update $tblname set time='$time' where session='$session'"); } $count_user = mysql_query("select count(*) from $tblname"); $user_online = mysql_result($count_user,0); echo "กาลงใชงานอย : $user_online คน"; //ทดสอบการแสดงผล ถานาไปใชใหปด หรอลบบรรทดนออกไป mysql_query("delete from $tblname where time<$time_check"); mysql_close(); ?>

3. เพยงเทานเรากได User Online มาใชในเวบของเราแลว แตใครจะนาไปพฒนาตอกไดนะครบแลวสงมาใหดกนบาง

การแสดงคาของ Array การแสดงคาของ Array หลายคนอาจจะอยากเหนวาขอมลทเกบของ Array นนเกบอยางไร เรากใชคาสงดได มาดการทา

คาสงทใช

print_r(คาตวแปล);

การใชงาน 1. สรางไฟล php แลวเขยนคาสงนเพอทดสอบ

<? $test_array=array("red","blue","Hello","yellow"); print_r($test_array); ?>

2. หลงจากนนลอง Run ดวาไดผลดงตวอยางหรอไม

Array ( [0] => red [1] => blue [2] => Hello [3] => yellow )

3. เพยงเทานเรากสามารถดขอมลของ Array ไดแลว

การสราง webboard (ฐานขอมล) การสราง webboard ตอนท 1 เนองจากบทเรยนนยาวผมกเลยตดเปนตอนๆ เพอความเขาใจ *เวบบอรดนไมเนนสวย ผมขอเนนหลกการในการสราง เพอความเขาใจนาไปพฒนาเปนเวบบอรดอนๆ ตอไป มาดขนตอนการทาเลยดกวา

สรางฐานขอมล ฐานขอมล Quiz เปนตารางทเราใชสาหรบเกบขอมลคาถาม

CREATE TABLE quiz ( id_quiz int(11) NOT NULL auto_increment, title varchar(50) NOT NULL, name varchar(30) NOT NULL, message text NOT NULL, email varchar(50) NOT NULL, date_q varchar(10) NOT NULL, count_q int(11) DEFAULT '0' NOT NULL, PRIMARY KEY (id_quiz) );

ฐานขอมล Ans เปนตารางทใชสาหรบเกบคาตอบทผใชตอบ

CREATE TABLE ans ( id_ans int(11) NOT NULL auto_increment, id_quiz int(11) DEFAULT '0' NOT NULL, name varchar(30) NOT NULL, message text NOT NULL, email varchar(50) NOT NULL, date_a varchar(10) NOT NULL, PRIMARY KEY (id_ans) );

ขนตอนการสรางฐานขอมลโดยใชคาสง SQL 1. เปด phpmyadmin ขนมา พรอมกบใสชอฐานขอมลทเราตองการสรางลงในชอง สรางฐานขอมล

2. หลงจากนนเรากจะไดฐาานขอมลทชอ webboard ขนมาจากนนใหเลอกท SQL เพอทจะสรางตารางตอไป

3. หลงจากนนนาคาสง SQL ดานบนใสลงในชอง SQL แลวกดทปม ลงมอ

4. หลงจากนนกจะมหนาตางแจงการสรางตาราง

5. เพยงเทานเรากจะไดตารางทนาไวสาหรบเกบขอมลเวบบอรด ทเราจะสรางตอไป

การสราง webboard (config.inc.php) การสราง webboard ตอนท 2 เปนการสรางไฟล config.inc.php เพอใชในการตดตอฐานขอมลเพอทเราจะไดไมตองประกาศฐานขอมลบอยครง ขนตอนการทา 1. สรางไฟลเอกสาร php ขนมาแลวทาการ save ใหเปนไฟล config.inc.php แลวทาการเขนโคดดงน

<? $host = "127.0.0.1"; $user = ""; //user ฐานขอมล $passwd = ""; //pass ฐานขอมล

$dbname = "webboard"; mysql_connect($host,$user,$passwd) or die("ตดตอ Host ไมได"); mysql_select_db($dbname) or die("ตดตอฐานขอมลไมได"); ?>

2. หลงจากนนเวลาทเราเรยกใชใหใชคาสง include(); รปแบบการใช

include('config.inc.php');

3. ดงนนทกหนาถามการใชฐานขอมลกใชคาสงนทกครง ในตอนตอไปเปนการสรางคาสงการตงคาถาม

การสราง weboard (ตงกระท) การสราง weboard ตอน 3 ในตอนนจะเปนการเขยนโคดเพอใชในการ Post ขอความลงใน เพอใชในการตงกระท

ขนตอนการทา 1. หลงจากทเราไดสรางฐานขอมลเรยบรอยแลว เรากสราง Form เพอใชในการตงคาถาม ในทนผมตงชอไฟลวา post.php

โคดทใชในการสราง Form post.php

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <form name="form1" method="post" action="post_q.php"> <strong><u>รวมตงคาถาม</u></strong><br>

หวขอกระท<br> <input name="title" type="text" id="title" size="30"> <br> ชอ<br> <input name="name" type="text" id="name" size="30"> <br> รายละเอยด<br> <textarea name="message" cols="30" rows="5" wrap="VIRTUAL" id="message"></textarea> <br> อเมล<br> <input name="email" type="text" id="email" size="30"> <br> <input type="submit" name="Submit" value="ตงคาถาม"> <input type="reset" name="Submit2" value="ยกเลก"> </form> </body> </html>

3. หลงจากนนเรามาเขยนโคด PHP เพอใชในการ Post ขอความผมตงชอไฟลวา post_q.php

<? include('config.inc.php'); $date_q=date("d/m/y"); $sql = "insert into quiz (title, name, message, email, date_q) values ('$title', '$name', '$message', '$email', '$date_q')"; // กาหนดคาสง SQL เพอเพมขอมลแบบคยในคาสง SQL $dbquery = mysql_db_query($dbname, $sql);

// ปดการตดตอฐานขอมล mysql_close(); echo "<Font Size=4><B>คาถามของ $name ถกตงเรยบรอยแลว</B><BR>"; echo "<A HREF=\"webboard.php\">กลบไปหนากระทหลก</A>"; ?>

4. หลงจากนนลองทดสอบ Post ขอความ

5. เปนอยางไรกนบาง ตอนนกเปนโครงสรางมาบางสวนแลว กตดตามตอนตอไปนะครบเปนการแสดงผล

การสราง webboard (แสดงกระท) การสราง webboard ตอน 4 หลงจากทผานมา 3 ตอนแลว ตอนนเปนการเขยนคาสงเพอนาขอมลจากกระททเราตงมาแสดงผล *แตยง link ไมไดนะครบตอนนเพอแสดงผลกอนเพอความเขาใจ ขนตอนการทา 1. สรางไฟลเอกสาร php ขนมาตงชอวา webboard.php แลวเขยนโคดดงน

<html> <head> <title></title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); $sql = "select * from quiz order by id_quiz desc"; $dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; $count_q = $result[count_q];

echo "<FONT COLOR=\"red\"><b>".sprintf("%05d", $id_quiz)."</b></FONT>"; //แสดงหมายเลขแบบมเงอนไข echo " $title <FONT COLOR=\"blue\">$date_q</FONT> $name<BR>";

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> </body> </html>

2. หลงจากนนลองทดสอบ

3. เปนอยางไรกนบางครบมาถงตอนนแลว คอยตดตามในตอนตอไปนะครบเปนการสราง Link จาก

กระทเพอไปตอบคาถาม การสราง webboard (การสราง Link ใหกบกระท) การสราง webboard ตอน 5 เปนการสราง Link ใหกบกระทเพอทเราจะไดเขาไปตอบคาถามได โดยการเขยนจะตอจากตอนทแลวนะครบ เราจะแกไขไฟล webboard.php นะครบ มาดการทากนเลยนะครบ ขนตอนการทา 1. เปดไฟล webboard.php ขนมาเพอทาการแกไข *ผมจะมารคสวนทตองแกใหนะครบเพอไมใหเปนการงง

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); $sql = "select * from quiz order by id_quiz desc"; $dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; $count_q = $result[count_q];

echo "<FONT COLOR=\"red\"><b>".sprintf("%05d", $id_quiz)."</b></FONT>"; //แสดงหมายเลขแบบมเงอนไข echo " <A HREF=\"show_ans.php?id_quiz=$id_quiz\" target=\"$id_quiz\">$title</A> <FONT COLOR=\"blue\">$date_q</FONT> $name<BR>"; //เราใส Tag Link ลงไปนะครบ แตเราฝากคากระทไปดวยนะครบจะไดตอบถกขอ

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> </body> </html>

2. หลงจากนนลองทดสอบดนะครบ ลองสงเกตท Status นะครบเวลาทเราเอา mouse ไปชท link จะบอกหมายเลขกระท

Staus Link

3. ครบกลองใส link ดนะครบ ในตอนจบการสรางเวบบอรด กคอยตดตามกนนะครบ การสราง webboard (การตอบกระท) การสราง webboard ตอน 6 กเปนการสรางในสวนการตอบกระท ในสวนนอาจจะยาวหนอยแตจะเปนโคดเสยสวนใหญ มาดการทาเลยดกวา ขนตอนการทา 1. สรางไฟลเอกสาร show_ans.php แลวเขยนโคดดงน

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); //หารายระเอยดของคาถาม $sql = "select * from quiz where id_quiz=$id_quiz"; $dbquery = mysql_db_query($dbname, $sql); $result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name];

$message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; echo sprintf("<B><FONT COLOR=\"Blue\">%05d</FONT></B>", $id_quiz). " คาถามจาก $name <FONT COLOR=\"Red\">$date_q</FONT><BR>"; echo "<u>รายละเอยดคาถาม</u> : $message<HR>";

//แสดงคาตอบ $sql = "select * from ans where id_quiz=$id_quiz order by id_ans"; $dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); if($num_rows==''){ echo "ยงไมมใครตอบคาถาม"; } $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id_ans = $result[id_ans]; $id_quiz = $result[id_quiz]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_a = $result[date_a]; $n++; echo "<FONT COLOR=\"red\"><b>คาตอบท $n</b></FONT> จาก $name <FONT COLOR=\"#FF6600\">$date_a</FONT><BR>"; echo "<u>รายละเอยดคาตอบ</u> : $message<HR color=#FFCC00>";

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> <form name="form1" method="post" action="reply.php"> <strong><u>รวมตอบคาถาม</u></strong><br> ชอ<br> <input name="name" type="text" id="name" size="30"> <br> รายละเอยด<br> <textarea name="message" cols="30" rows="5" wrap="VIRTUAL" id="message"></textarea> <br> อเมล<br> <input name="email" type="text" id="email" size="30"> <br> <input type="submit" name="Submit" value="ตงคาถาม"> <input type="reset" name="Submit2" value="ยกเลก"> <input type="hidden" name="id_quiz" value="<? echo $id_quiz;?>"> </form> </body> </html>

2. หลงจากนนสรางไฟลเพมขอมลลงในตาราง ans ผมใหชอไฟลวา reply.php

<? include('config.inc.php'); $date_a=date("d/m/y"); $sql = "insert into ans (id_quiz, name, message, email, date_a) values ($id_quiz, '$name', '$message', '$email', '$date_a')"; // กาหนดคาสง SQL เพอเพมขอมลแบบคยในคาสง SQL $dbquery = mysql_db_query($dbname, $sql);

// ปดการตดตอฐานขอมล mysql_close(); echo "<Font Size=4><B>ขอบคณสาหรบคาตอบ $name </B><BR>"; echo "<A HREF=\"show_ans.php?id_quiz=$id_quiz\">กลบไปหนากระท ".sprintf("<B><FONT COLOR=\"Blue\">%05d</FONT></B>", $id_quiz)."</A>"; ?>

3. หลงจากนนลองทดสอบ

4. กจบลงไปแลวนะครบเกยวกบการสรางเวบบอรด ใครเสรจแลวกสงกนมาใหดบางนะครบ ขอใหสนกกบการทาเวบ

ขอสงสยเกยวกบ PHPMyadmin บน server ทเชา ขอสงสยเกยวกบ PHPMyadmin บน server ทเชา จรงๆ แลว phpmyadmin จะถกตดตงอยท server แลวแตหลายคนกงงวาจะเรยกผานทไหน เรามาดกน

ขนตอนการใช PHPmyadmin บน Server 1. ทาการ Login ผานระบบ Admin ของ Host ทเราเชาอย ในทนกแลวแต Host ทเราเชานนๆ ในทนผมจะยกตวอยางจากทผมเชาไปแลวหลงจากทเรา Login เขาไปจะมหนาตางคลายกนน

2. หลงจากนนเรากเขาไปเลอกทเครองมอ Mysql Admin Tool

3. หลงจากนนกจะมหนาตาง Login เราก Login เขาไปใชงาน phpmyadmin ไดเลยครบ

4. ลองนาไปใชทดสอบดกบ Host ทเราเชาอยดนะครบ แตอาจจะไมเหมอนกนนะครบกขนอยกบวา Host ทเชาเขาใช Soft อะไรเปนตวจดการ

การนาขาวจากเวบอนมาแสดงทเวบเรา เทคนคการนาขาวจากเวบอนมาแสดงทเวบเรา ในทนเราจะทาโคดจากเวบ Thaisarn.com มาใชงานมาดขนตอนการทากนเลย ขนตอนการทา 1. สรางไฟล Config กอนเพอใหการโหลดขาวสารไดเรวขน ในทนผมตงชอไฟลวา thaisarnnewsclass.inc

<?php

// Function "thaidate" ทาหนาทแปลง string วนททอยในรปแบบ "dd/mm/yyyy" ใหกลายเปนวนทในภาษาไทย

function thaidate($today) { list($tdate, $tmonth, $tyear) = explode("/", $today); $tyear += 543;

switch($tmonth) { case "01": $tmonth = "ม.ค."; break; case "02": $tmonth = "ก.พ."; break; case "03": $tmonth = "ม.ค."; break; case "04": $tmonth = "เม.ย."; break; case "05": $tmonth = "พ.ค."; break; case "06": $tmonth = "ม.ย."; break; case "07": $tmonth = "ก.ค."; break; case "08": $tmonth = "ส.ค."; break; case "09": $tmonth = "ก.ย."; break; case "10": $tmonth = "ต.ค."; break; case "11": $tmonth = "พ.ย."; break; case "12": $tmonth = "ธ.ค."; break; } // switch

return "$tdate $tmonth $tyear"; } // function

// สวนทกาหนดการทางานของ ThaiSarnNews Class

class ThaiSarnNews {

// กาหนด property ตางๆของ ThaiSarnNews Class ไมควรจะ set property เหลานโดยตรง

var $version = "0.9"; var $newsItems = array(); var $curTag = ""; var $itemCount = 0;

var $newsTitle; var $newsLink; var $newsDescription; var $newsSource; var $newsSourceLink;

var $newsDate; var $newsCategory; var $newsKeywords; var $newsLanguage;

var $xmlLocation = ""; var $newsErrors = ""; var $headingStyle; var $entryStyle; var $endingStyle; var $noNewsMesg; var $reversedDateStyle;

var $suppressErrors;

// กาหนด Methods ตางๆของ ThaiSarnNews Class

// Class constructor ซงทาการ initialise คา property ตางๆ

function ThaiSarnNews() { $this->newsItems = array(); $this->curTag = ""; $this->itemCount = 0;

$this->newsTitle = array(); $this->newsLink = array(); $this->newsDescription = array(); $this->newsSource = array(); $this->newsSourceLink = array(); $this->newsDate = array(); $this->newsCategory = array(); $this->newsKeywords = array(); $this->newsLanguage = array();

// Set default style $this->reversedDateStyle = false; $bgcolor = "#9999cc"; // The color of the table frame. $fontName = "Ms Sans Serif,Thonburi"; $fontSize = "2";

$tableEntry = "<TR><TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"12%\"><FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Date></FONT></TD>"; $tableEntry .= "<TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"40%\"><A HREF=\"<XMLNews:Link>\">"; $tableEntry .= "<FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Title></FONT></A></TD>"; $tableEntry .= "<TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"30%\"><A HREF=\"<XMLNews:SourceLink>\">"; $tableEntry .= "<FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Source></FONT></A></TD>"; $tableEntry .= "<TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"18%\"><FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Category></FONT></TD></TR>";

$noNewsMesg = "<P><FONT face=\"$fontName\" size=\"2\">ไมมขาวใหมอยในระบบ

</FONT>"; $tableHeading = "<TABLE BORDER=\"0\" WIDTH=\"98%\">"; $tableEnding = "</TABLE>";

$this->headingStyle = $tableHeading; $this->entryStyle = $tableEntry; $this->endingStyle = $tableEnding; $this->noNewsMesg = $noNewsMesg; }

// Functions for news parser.

function startElement($parser, $name, $attrs) {

// ถา tag เปน "NEWS" จะมการ initialize คาตางๆใน array สาหรบเกบขอมลขาว

if ($name == "NEWS") { $this->newsTitle[$this->itemCount] = ""; $this->newsLink[$this->itemCount] = ""; $this->newsDescription[$this->itemCount] = ""; $this->newsSource[$this->itemCount] = ""; $this->newsSourceLink[$this->itemCount] = ""; $this->newsDate[$this->itemCount] = ""; $this->newsCategory[$this->itemCount] = ""; $this->newsKeywords[$this->itemCount] = ""; $this->newsLanguage[$this->itemCount] = ""; }

// จาคา tag ไวในตวแปล $curTag

$this->curTag = "$name"; }

function endElement($parser, $name) {

// ถา tag เปน "NEWS" จะมการเพมคา itemCount (จานวนขาว)

if ($name == "NEWS") { $this->itemCount++; }

$this->curTag = ""; }

function characterData($parser, $data) { $titleKey = "TITLE"; $linkKey = "LINK"; $descKey = "DESCRIPTION"; $dateKey = "PUBDATE"; $sourceKey = "SOURCE"; $sourceLinkKey = "SOURCELINK"; $cateKey = "CATEGORY"; $keywKey = "KEYWORD"; $langKey = "LANGUAGE";

// ถา tag เปน "TITLE" ใหนาเอาขอมลไปเกบไวใน array "newsTitle" ในตาแหนงขาวปจจบน

ฯลฯ

if ($this->curTag == $titleKey) { $this->newsTitle[$this->itemCount] .= $data; } elseif ($this->curTag == $linkKey) { $this->newsLink[$this->itemCount] .= $data; } elseif ($this->curTag == $descKey) { $this->newsDescription[$this->itemCount] .= $data; } elseif ($this->curTag == $dateKey) { $this->newsDate[$this->itemCount] .= $data; } elseif ($this->curTag == $sourceKey) { $this->newsSource[$this->itemCount] .= $data; } elseif ($this->curTag == $sourceLinkKey) { $this->newsSourceLink[$this->itemCount] .= $data; } elseif ($this->curTag == $cateKey) { $this->newsCategory[$this->itemCount] .= $data; } elseif ($this->curTag == $keywKey) { $this->newsKeywords[$this->itemCount] .= $data; } elseif ($this->curTag == $langKey) { $this->newsLanguage[$this->itemCount] .= $data; } }

// Functions for other parsers.

var $listTag = ""; var $listCount; var $listArray;

function startListElement($parser, $name, $attrs) { if ($name == "CATEGORIES" || $name == "SOURCES") { $this->listTag = ""; $this->listCount = 0; $this->listArray = array(); } elseif ($name == "ITEM") { $this->listTag = "ITEM"; } }

function endListElement($parser, $name) { if ($name == "ITEM") { $this->listCount += 1; } }

function characterListData($parser, $data) { $this->listArray[$this->listCount] = $data; }

// Other functions.

function unsuppressErrors () { $this->suppressErrors = false;

return true;

}

function getErrors () { return $this->newsErrors; }

function setLocation($sourceLocation) { $this->xmlLocation = $sourceLocation; return true; }

function reset() { $this->newsItem = array(); $this->curTag = ""; $this->itemCount = 0; }

function setExternalLoader ($loadingCmd, $tmpfile) { $this->useExternalLoader = true; $this->externalLoadingCmd = $loadingCmd; $this->tmpFileLocation = $tmpfile;

return true; }

function performParsing ($xmlSource, $startHdr, $endHdr, $chrHdr) {

// 1. ดงขอมลจากไทยสาร: PHP สามารถเปดไฟลทเปน URL ไดโดยใชคาสง fopen ฯลฯ

if (!($fp = fopen($xmlSource,"r"))) { $this->newsErrors .= "Cannot open $xmlSource for reading\n"; return false; }

// 2. ทาการ create parser, เซตให object ตวน ใช parser ทสรางขนมา และ // เซต option ให parser convert tag ทอานไดจากเอกสารใหเปน ตวใหญ (capital letters) ใหหมด

$this->xml_parser = xml_parser_create(); xml_set_object($this->xml_parser, &$this); xml_parser_set_option($this->xml_parser, XML_OPTION_CASE_FOLDING, true);

// 3. ตงคา event handlers สาหรบ tag เปด tag ปด และ character data (ดคาอธบาย event-based parsing)

xml_set_element_handler($this->xml_parser, $startHdr, $endHdr); xml_set_character_data_handler($this->xml_parser, $chrHdr);

// 4. ทาการ parse เอกสาร XML โดยอานขอมลทละ 4096 byte จากไฟล

while ($data = fread($fp, 4096)) { if (!xml_parse($this->xml_parser, $data, feof($fp))) { $this->newsErrors .= "XML error: " . xml_error_string(xml_get_error_code($this-

>xml_parser)) . " at line " . xml_get_current_line_number($this->xml_parser) . "\n"; return false; } }

// 5. เมอทาการ parse เอกสารเสรจแลวก free ตว parser ปดแฟมเอกสารและออกจาก function

xml_parser_free($this->xml_parser); fclose($fp);

return true; }

function parse() { $xmlSource = $this->xmlLocation;

return $this->performParsing ($xmlSource, "startElement", "endElement", "characterData"); }

function &getSourceList() { $success = $this->performParsing ("http://www.thaisarn.com/services/distributor/xml_distributor.php?getSourceList=''", "startListElement", "endListElement", "characterListData");

return $this->listArray; }

function &getCategoryList() { $success = $this->performParsing ("http://www.thaisarn.com/services/distributor/xml_distributor.php?getCategoryList=''", "startListElement", "endListElement", "characterListData");

return $this->listArray; }

function getParseError() { return $this->parseError; }

function getNumNews() { return $this->itemCount; }

function getIthNews($i) { if ($this->reversedDateStyle) { list($m, $d, $y) = explode("/", $this->newsDate[$i]); $newsdate = sprintf("%02d",$d) . "/" . sprintf("%02d",$m) . "/" . $y; } else { $newsdate = $this->newsDate[$i]; }

return array( "title" => $this->newsTitle[$i],

"source" => $this->newsSource[$i], "link" => $this->newsLink[$i], "category" => $this->newsCategory[$i], "description" => $this->newsDescription[$i], "sourceLink" => $this->newsSourceLink[$i], "pubdate" => $newsdate, "keyword" => $this->newsKeywords[$i], "language" => $this->newsLanguage[$i] ); }

function setEntryStyle ($str) { $this->entryStyle = $str; return true; }

function setIterationStyle ($str) { $this->entryStyle = $str; return true; }

function setHeadingStyle ($str) { $this->headingStyle = $str; return true; }

function setEndingStyle ($str) { $this->endingStyle = $str; return true; }

function setReversedDateStyle ($bool) { $this->reversedDateStyle = $bool; return true; }

function transformNews () { $htmlResult = "";

if($this->itemCount == 0) { $htmlResult = $this->noNewsMesg; } else { $htmlResult = $this->headingStyle; $actualEntryNo = 0;

for($row = 0; $row < ($this->itemCount); $row++) { if ($this->reversedDateStyle) { list($m, $d, $y) = explode("/", $this->newsDate[$row]); $newsdate = sprintf("%02d",$d) . "/" . sprintf("%02d",$m) . "/" . $y;

$newsdate = thaidate($newsdate); } else { $newsdate = thaidate($this->newsDate[$row]); }

$newslink = $this->newsLink[$row]; $newstitle = $this->newsTitle[$row]; $newssource = $this->newsSource[$row]; $newscategory = $this->newsCategory[$row]; $newskeywords = $this->newsKeywords[$row]; $newssourcelink = $this->newsSourceLink[$row];

if ($newstitle != "") { $thisEntry = $this->entryStyle; $thisEntry = str_replace("<XMLNews:Date>", "$newsdate", $thisEntry); $thisEntry = str_replace("<XMLNews:Link>", "$newslink", $thisEntry); $thisEntry = str_replace("<XMLNews:Title>", "$newstitle", $thisEntry); $thisEntry = str_replace("<XMLNews:Source>", "$newssource", $thisEntry); $thisEntry = str_replace("<XMLNews:Category>", "$newscategory", $thisEntry); $thisEntry = str_replace("<XMLNews:Keyword>", "$newskeywords", $thisEntry);

if ($newssourcelink != "") { $thisEntry = str_replace("<XMLNews:SourceLink>", "$newssourcelink", $thisEntry); } else { $thisEntry = str_replace("<XMLNews:SourceLink>", "http://gnews.gits.net.th", $thisEntry); }

$htmlResult .= $thisEntry; $actualEntryNo++; } }

$htmlResult .= $this->endingStyle;

if ($actualEntryNo == 0) { $htmlResult = $noNewsMesg; } }

return $htmlResult; }

}

?>

2. หลงจากทเราสรางไฟล config แลวเรากเขยนโคดตดตอกบเวบ thaisarn ทใหบรการ Save เปนไฟลทเราตองการ

<?php require_once("thaisarnnewsclass.inc"); //ไฟลทเราสรางในตอนแรก $sourceLocation = "http://thaisarn.com/services/distributor/xml_distributor.php?category=เทคโนโลย&nlatest=7"; //เปลยนหมวดตามทเราตองการ หมวดขาวดทเวบ Thaisarn.com ไดครบ$thaiSarnNews = new ThaiSarnNews; $thaiSarnNews->setLocation($sourceLocation); $thaiSarnNews->parse(); $tableEntry = "<tr><td width=''><font size=\"2\"><XMLNews:Date></font>"; $tableEntry .= "<font size=\"2\"><A HREF='<XMLNews:Link>' target=\"<XMLNews:Title>\"> <XMLNews:Title></A>-<XMLNews:Source></font>"; $tableEntry .= " <FONT COLOR=\"#F38918\" size=\"2\"><XMLNews:Category></FONT></td>"; $tableHeader = "<table>"; $thaiSarnNews->setIterationStyle($tableEntry); $thaiSarnNews->setHeadingStyle($tableHeader);

echo $thaiSarnNews->transformNews(); ?>

3. หลงจากนนลองทดสอบ

เทคนคการทาให Textbox รบคาไดเฉพาะตวเลข เทคนคการทาให Textbox รบคาไดเฉพาะตวเลข เทคนคนเราจะใช Java เปนตวกาหนดใชในการสราง Form ตางๆ ขนตอนการทา 1. ใหเราสราง Form ขนมา ดงภาพ

โคด Java ทใช

<SCRIPT language=JavaScript> function check_number() { e_k=event.keyCode //if (((e_k < 48) || (e_k > 57)) && e_k != 46 ) { if (e_k != 13 && (e_k < 48) || (e_k > 57)) { event.returnValue = false; alert("ตองเปนตวเลขเทานน... \nกรณาตรวจสอบขอมลของทานอกครง..."); } }

</script>

2. หลงจากนนใหเรานาโคด Java ไปวางไวสวน Head ของไฟล

3. หลงจากนนเขยนโคดท Textbox ใหดง Function จาก Java เมอผใชปอนคา

<input type="text" name="textfield" onkeypress=check_number();> //การเรยกใช

Function

4. โคดสราง Form ทงหมด

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> <style type="text/css"> <!-- body { margin: 0px 0px; padding: 0px 0px} a:link { color: #005CA2; text-decoration: none} a:visited { color: #005CA2; text-decoration: none} a:active { color: #0099FF; text-decoration: underline} a:hover { color: #0099FF; text-decoration: underline} --> </style> <SCRIPT language=JavaScript> function check_number() { e_k=event.keyCode //if (((e_k < 48) || (e_k > 57)) && e_k != 46 ) { if (e_k != 13 && (e_k < 48) || (e_k > 57)) { event.returnValue = false; alert("ตองเปนตวเลขเทานน... \nกรณาตรวจสอบขอมลของทานอกครง..."); } }

</script> </head>

<body bgcolor="#FFFFFF"> <form name="form1" method="post" action=""> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td>ราคาสนคาทขาย <input type="text" name="textfield" onkeypress=check_number();> <input type="submit" name="Submit" value="ตกลง"> </td> </tr> </table> </form> </body> </html>

5. หลงจากนนลองทดสอบดครบ

6. ขอใหสนกกบการเขยนเวบ

การนบจานวนวนในรอบป การนบจานวนวนในรอบป กเปนสวนของ Function Date กนาไปประยกตไดหลายเชนการเกบขอมลสถต, สนคา หรออนๆ มาดการทา ขนตอนการทา 1. สรางเอกสาร PHP ขนมา แลวเขยน Script นลงไป

<? echo "จานวนวน : <Font color=red> ".date ("z")."</Font> ยงไมไดจายเงน<Br>"; ?>

2. หลงจากนนทาการ Run ดครบ

3. ลองนาไปเขยนในรปแบบอนๆ ดนะครบ ขอใหสนกกบการทาเวบ

Home -> PHP Programing -> เทคนคการแกไขขอมลใน Mysql

จดทาโดย : Mr.GuruZ แสดง 2757 ครง เวบบอรด สงใหเพอน

เทคนคการแกไขขอมลใน Mysql ในการแกไขนนเราจะตองสราง Form เพออานวยความสะดวกใหกบผใชเวลาทลกคากรอกขอมล ขนตอยการทามดงน ขนตอนการทา 1. ใหเราสรางตารางขนมากอน ดวยคาสง SQL โดยสรางลงใน Database : test

CREATE TABLE customer ( id int(11) NOT NULL auto_increment, name char(30) NOT NULL,

surname char(30) NOT NULL, address char(150) NOT NULL, tel char(20) NOT NULL, PRIMARY KEY (id) ); INSERT INTO customer VALUES ( '1', 'aaaa', 'sur aa', 'test/1', '01-1111111'); INSERT INTO customer VALUES ( '2', 'bbbb', 'sur bb', 'test/2', '01-2222222'); INSERT INTO customer VALUES ( '3', 'cccc', 'sur cc', 'test/3', '01-3333333'); INSERT INTO customer VALUES ( '4', 'dddd', 'sur dd', 'test/4', '01-4444444'); INSERT INTO customer VALUES ( '5', 'eeee', 'sur ee', 'test/5', '01-5555555');

2. หลงจากทเราสรางฐานขอมลแลวใหเราสรางไฟลแสดงผลขอมลจากฐานขอมล show.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "customer"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "select * from $tblname"; $dbquery = mysql_db_query($dbname, $sql); // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; echo "($id) คณ <font color=\"#FF0000\">$name</FONT> <A HREF=\"edit.php?id=$id\">แกไขขอมล</A><BR>"; //กาหนด Link ไปทไฟลทเราจะแกไข $i++; } // ปดการตดตอฐานขอมล mysql_close(); ?>

3. หลงจากนนเราสราง Form ขนมาตงชอไฟลใหตรงกบไฟลทเรา link มาใรทนผมใหชอไฟลวา edit.php

4. หลงจากนนเขยนโคดแทรกเขาไปในไฟล edit.php ดงน

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "customer"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "select * from $tblname where id=$id"; //ตรงนจะเปนขอกาหนดใหดงขอมลตามทเรากาหนด $dbquery = mysql_db_query($dbname, $sql); $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; $surname = $result[surname]; $address = $result[address]; $tel = $result[tel]; // ปดการตดตอฐานขอมล mysql_close(); ?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> <style type="text/css"> <!-- body { margin: 0px 0px; padding: 0px 0px} a:link { color: #005CA2; text-decoration: none} a:visited { color: #005CA2; text-decoration: none} a:active { color: #0099FF; text-decoration: underline} a:hover { color: #0099FF; text-decoration: underline} --> </style> </head>

<body bgcolor="#FFFFFF"> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td> <form name="form1" method="post" action="update.php"> //ขอมลจะถกสงไปยง update.php ลกคาคนท <input type="text" name="id" value="<? echo $id;?>"> <br> ชอ <input type="text" name="name" value="<? echo $name;?>"> นามสกล <input type="text" name="surname" value="<? echo $surname;?>"> <br> ทอยลกคา <input type="text" name="address" value="<? echo $address;?>"> เบอรโทร

<input type="text" name="tel" value="<? echo $tel;?>"> <br> <input type="submit" name="Submit" value="แกไขขอมล"> </form> </td> </tr> </table> </body> </html>

5. หลงจากนนเขยนโคด Update เพอนาขอมลทผใชกรอกมาแกไขผมาจะเขยนไวทไฟล update.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "customer"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "update $tblname set id=id, name='$name', surname='$surname', address='$address', tel='$tel' where id=$id"; // กาหนดคาสง SQL เพอแสดงขอมล $dbquery = mysql_db_query($dbname, $sql); echo "<Font Size=4><B>แกไขขอมลเรยบรอยแลว</B>"; echo "<Br><A Href=\"show.php\"> ดผลการเปลยนแปลง</A>"; // เครองหมาย \ หนา " ทาใหไมเกด error เมอรน ?>

6. หลงจากนนเราลองทดสอบดโดยเปดไฟล show.php ขนมากอน

7. ขอใหสนกกบการทาเวบ

การลบขอมลจากฐานขอมล MySQL การลบขอมลใน Mysql ในฐานขอมล การทเราจะลบขอมลเรากควรทจะมฐานขอมลกอน และขอมลทอยในฐานขอมลนนๆ แตขอสาคญในฐานขอมลนนจะตองม Primary Key ดวยนะครบ เรามาดวธการทา ขนตอนการทา 1. สรางฐานขอมลขนมา โดยใชคาสง Sql

CREATE TABLE admin ( id int(11) NOT NULL auto_increment, user_admin char(15) NOT NULL, pass_admin char(8) DEFAULT '0' NOT NULL, PRIMARY KEY (id) );

2. หลงจากทเราสรางฐานขอมลขนมาแลวใหเราใชคาสงแสดงผลขอมลนนขนมา แตเราจะใสปม Delete ลงไปดวยเราใหไฟลนชอวา show_del.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน

$dbname = "test"; //ชอฐานขอมล $tblname = "admin"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "select * from $tblname"; $dbquery = mysql_db_query($dbname, $sql); // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $user_admin = $result[user_admin]; $pass_admin = $result[pass_admin]; echo "($id) $user_admin $pass_admin <A HREF=\"del.php?id=$id\">ลบขอมล</A><BR>"; //สาคญอยตรงน กาหนดคาตวแปลเพอใหรวาเราจะลบขอมล Record $i++; } // ปดการตดตอฐานขอมล mysql_close(); ?>

3. เราจะไดผลดงน

4. หลงจากนนเราเขยนคาสงทใชในการลบขอมลไวทไฟลทเรากาหนด Link ไวผมใหชอไฟล del.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "admin"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได");

// เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "delete from admin where id='$id'"; // กาหนดคาสง SQL เพอลบขอมล กาหนดใหลบตาม ID ทเรากาหนด $dbquery = mysql_db_query($dbname, $sql); echo "ลบขอมล Record : $id"; ?>

5. หลงจากนนลองลบขอมล จะไดผลดงน

6. ขอใหสนกกบการทาเวบ

การแปลงขอความใหเปนตวพมพใหญ เทคนคการแปลงขอความใหเปนตวใหญทงหมด เพอใหงายตอการเชคขอมล สวนใหญเราจะใชรวมกบฟอรมเพอแปลงคาทไดจากผใชทปอนขอมลเขามา ขนตอนการทา 1. สรางฟอรมเพอใชในการทดสอบ

โคดทใชสราง Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td>

<form name="form1" method="post" action="check.php"> //อยาลมกาหนด Action กรณาใส User ทคณตองการ : <input type="text" name="user"> //กาหนดชอของ TextBox <input type="submit" name="Submit" value="คนหา User"> </form> </td> </tr> </table> </body> </html>

2. หลงจากนนใหเราเขยนโคดทไฟล check.php ดงน

<? $user_upper=strtoupper($user); echo $user_upper; ?>

3. หลงจากนนทดสอบดผลทได

เทคนคการสมตวเลข เทคนคการสมตวเลข กสามารถนาไปประยกตใชงานไดหลายเชนการสมรหสผานเวบ หรอจะนาไปใชกบการสมรหสผานแลวสงไปใหคนทมาลงทะเบยนกบเวบเรากได มาดขนตอนการทา ขนตอนการทา 1. สรางเอกสาร php ขนมาแลวเขยนโคดนลงไปเพอใชในการสมหา

<? $key = "123456789100987654321";

srand((double)microtime()*1000000); for($i=0; $i<6; $i++) { $pass_rand .= $key[rand()%strlen($key)]; } echo $pass_rand; ?>

2. หลงจากนนลองทดสอบดผลทได

3. ลองนาไปใชกนดนะครบ ขอใหสนกกบการเขยนเวบ

การหาจานวน Array การหาจานวนของ Array หลายคนอาจจะไดนาไปใช อาจจะนาไปใชการตดคาหยาบหรอการเพมเกบขอมลในแบบตาง ขนตอนการทาไมยากมาดการเขยนเลยดกวา Function ทใช

count($คาตวแปลทเราจะหา);

ขนตอนการทา 1. สรางตวแปล Array ขนมา

$word=array("php","dream","photoshop","coreldraw");

2. หลงจากนนเราใส Function ลงไปเพอใชในการหาจานวน

<? $word=array("php","dream","photoshop","coreldraw"); $count_array=count($word); echo $count_array; ?>

3. ผลทไดจากการหา

เทคนคการใสจลภาค คนตวเลข เทคนคการใสจลภาค คนตวเลข หลายคนททาเกยวกบขายของผานทาง Internet กอยากจะใหผใชรวาซอของไปราคาเทาไรแลว ขนตอนการทานนไมยสกครบเพราะวาม Function ใหเราไดใชอยแลว เรามาดการใชเลยดกวา Function ทใช

number_format();

ขนตอนการทา 1. ใหเราสรางไฟลทเราจะใชในการเขยนขนมาแลวเขยนโคดนลงไปในไฟลทเราสรางขนมา

<? $number=1568971; echo "สงสนคาเปนจานวนเงน = ".number_format($number,2,'.',',')." บาท"; //2 ทเราเขยนเปนการระบจดทศนยม ?>

2. ผลทไดจาก Function น

3. ลองนาไปใชกนดนะครบ ขอใหสนกกบการทาเวบ

เทคนคการทาไฟล config.inc.php เทคนคการทาไฟล config.inc.php แลวเรยกใชในการตดตอฐานขอมล เพอชวยใหเราไมตองมาเขยนการตดตอฐานขอมลแบบซาๆ ขนตอนการทา 1. ใหเราสรางไฟล config.inc.php ขนมากอนแลวเขยนโคดในการตดตอฐานขอมล

<? //Connect database $host = "127.0.0.1"; $user = ""; $passwd = ""; $dbname = "test"; mysql_connect($host,$user,$passwd) or die("<center><BR><BR><BR><font color=red>Server มปญหากรณารอซกครเพอเขาสเวบไซต<BR>กรณาเขา www.webthaidd.com อกครง ขอบคณทใชบรการ<BR><BR>webmaster@webthaidd.com</font></center>"); mysql_select_db($dbname) or die("<center><BR><BR><BR><font color=red>Server มปญหากรณารอซกครเพอเขาสเวบไซต<BR>กรณาเขา www.webthaidd.com อกครง ขอบคณทใชบรการ<BR><BR>webmaster@webthaidd.com</font></center>"); ?>

2. หลงจากนนกลองเรยกใช แตการเรยกใชใหใชคาสง Include()

<?php include('config.inc.php'); // คาสง SQL และสงใหทางาน $sql = "select * from student"; $dbquery = mysql_db_query($dbname, $sql); // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; $surname = $result[surname]; $grade = $result[grade]; echo "$id - $name - $surname - $grade<BR>"; $i++; } // ปดการตดตอฐานขอมล mysql_close(); ?>

3. หลงจากนนลองทดสอบ

4. ลองนาไปใชกนดนะครบ ขอใหสนกกบการเขยนเวบ

การสราง Function แบบไมสงคา การสราง Function แบบไมสงคา การนาไปใชกทาไดหลายทงขอความตอนรบ, ตวนบจานวนคนขามาเยยมชมเวบเรา ขนตอนการทาไมยงยาก ขนตอนการทา 1. สรางไฟล PHP ขนมาแลวเขยนโคดนลงไปไดเลย

<?php // ตรงนแลวแตการออกแบบของคณ Function welcome() { echo "ยนดตอนรบเขาสโฮมเพจ webthaidd.com"; echo "<a href=mailto:webmaster@webthaidd.com?subject=สวสดครบ> ตองการตชม </a><Br>"; //สงเมลล echo date("d/m/"), date("Y")+543, ", ", date(" H:i:s"); // แสดงเวลา (ดรายละเอยดในฟงกชน Date and Time) } // ตรงนแลวแตการออกแบบของคณ welcome(); ?>

2. หลงจากนนลองทดสอบ

3. ลองนาไปใชกนดนะครบ ขอใหสนกกบการเขยนเวบ

การเพมขอมลลงในฐานขอมล MySQL โดยใช Form เทคนคการเพมขอมลลงในฐานขอมล Mysql โดยใชฟอรมทเราสรางขน มาดวธการเลยดกวา

ขนตอนการทา 1. เรมจากสรางฐานขอมลขนมากอน

2. คาสง SQL ทใชในการสรางฐานขอมล

SQL-query: CREATE TABLE student (id INT not null AUTO_INCREMENT, name CHAR (30) not null , surname CHAR (30) not null , grade CHAR (1) not null , PRIMARY KEY (id))

3. หลงจากนนสราง Form ขนมา

4. โคดทใชสาหรบสรางฟอรม

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body> <form name="form1" method="post" action="add.php"> //ตาแหนงไฟลทเราสงขอมลจากฟอรมไปให Name : <input name="name" type="text" id="name"> Surname : <input name="surname" type="text" id="surname"> <br> Grade : <input name="grade" type="text" id="grade"> <input type="submit" name="Submit" value="เพมขอมล"> <input type="reset" name="Submit2" value="Reset"> </form> </body> </html>

5. หลงจากนนเราเขยนโคดเพอเพมขอมลใน add.php ดงน

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "student"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "insert into $tblname (name, surname, grade) values ('$name', '$surname', '$grade')"; // กาหนดคาสง SQL เพอเพมขอมลแบบคยในคาสง SQL $dbquery = mysql_db_query($dbname, $sql); // ปดการตดตอฐานขอมล mysql_close(); echo "<Font Size=4><B>เพมขอมลลงฐานขอมลเรยบรอยแลว</B>"; ?>

6. หลงจากนนลองทดสอบการเพมขอมล

7. เพยงเทานเรากสามารถเพมขอมลลงฐานขอมลได ขอใหสนกกบเขยนเวบ

เทคนคการตดคาหยาบ เทคนคการเชคคาหยาบ กมหลายเวบทใช webthaidd กใชครบ มวธการเขยนไมยากครบมาดวธการเขยนกนเลยดกวา

ขนตอนการทา

1. สราง Form เพอทาการทดสอบขนมา

2. โคดทใชสราง Form

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body> <form name="form1" method="post" action="cut_word.php">//อยาลมระบตาแหนงไฟลดวยนะครบ ทดสอบตดคาหยาบ <input name="word" type="text" id="word"> <input type="submit" name="Submit"> </form> </body> </html>

3. หลงจากนนเรากมาเขยนโคดท cut_word.php

<? $word_cut = array("ไอ","อ","มง","ก"); $replace = "<font color=red>***</font>"; for ($i=0 ; $i<sizeof($word_cut) ; $i++) { $word = eregi_replace($word_cut[$i],$replace,$word); } echo $word; ?>

4. ทดสอบการตดคาด

5. ลองนาไปใชกนดนะครบ ขอใหสนกกบการทาเวบ

การเปลยน Password Mysql เทคนคการเปลยน Password ของ Mysql นนชวยใหเราสะดวกเวลาทเรา Upload ไฟลขนไปท Server โดยทเราไมตองมาเสยเวลาเปลยน Password ใหม

ขนตอนการทา 1. เปดหนาตาง Dos Mode ขนมากอนโดยถาคณใชวนโดวส 2000-XP ใหคณเลอกทเมน Run แลวพมพ cmd กด OK กจะเขาส Dos Mode ไดเลย แตถาคณใช Win95-me คณเลอก Run แลวพมพ command กเขาไดเชนกน

2. หลงจากนนใหคณ Login เขาใน Mysql ใหเรยบรอยกอนดงรป

3. หลงจากนนใหเราพมพคาสงเพอเปลยน Pass

4. เพยงเทานเรากสามารถเปลยน Password ไดแลวครบ (อยาลม Pass นะครบ)

เทคนคการแสดงรปภาพแทนตวเลข เทคนคการแสดงรปภาพแทนตวเลข เทคนคนเราจะนาไปทาเปน Counter กไดนะครบเพอความเขาใจผมเลยแยกการทางานออกมาใหเหนภาพ มาดการทาเลยดกวาครบ ขนตอนการทา

1. สรางไฟลรปภาพทเปนตวเลขขนมากอน

2. ขอสาคญรปจะตองอยทเดยวกบโคดนะครบ แลวเขยนโคดดงน

<? $count="98567421"; $len=strlen($count); for($n=0;$n<$len;$n++){ $digit=substr($count,$n,1); echo "<IMG SRC=\"$digit.png\" BORDER=0 ALT=\"webthaidd\">"; } ?>

3. ผลทไดจะออกมาดงภาพ

4. พอจะมองเหนภาพแลวใชไหมครบวาจะนาไปใชทาอะไร ขอใหสนกบการทาเวบ

เทคนคการหาคาความยาวของตวอกษร เทคนคการหาคาความยาวของตวอกษร บางคนถาวาหาไปทาไม จรงๆแลวเราสามารถนาไปประยกตไดหลายอยางเชน Counter แบบแสดงรปภาพ มาดขนตอนการทาเลยดกวา ขนตอนการทา 1. สรางไฟลเอกสาร PHP ขนมาแลวเขยนโคดนลงไป

<? $text="webthaidd.com"; $len=strlen($text); echo "คาความยาวของตวอกษร : $len"; ?>

2. สนๆ แตไดใจความ กลองนาไปใชดนะครบ

เทคนคการทา Search Google เทคนคการทา Search Google หลายคนถามถงมา จรงๆ กมหลายวธครบแตนกเปนวธหนง มาดวธการทาเลยดกวาครบ ขนตอนการทา

1. สรางฟอรมทเราจะใชสาหรบ Search

2. หลงจากนนกาหนดคาตวแปลใหกบ Textbox ใหกาหนดเปน q นะครบ

3. หลงจากนนหาหนด Action ของฟอรมไปท http://www.google.co.th/search?q และเปลยน Method เปน GET

4. หลงจากนนลองกด F12 แลวลองคนหาดครบ

5. ลองนาไปใชดนะครบ ขอใหสนกกบการทาเวบ

เทคนคการเกบชอไฟลรปภาพลงฐานขอมล เทคนคการเกบชอรปภาพลงในฐานขอมล หลงจากทเราเกบไฟลรปภาพลงฐานขอมลเรยบรอยแลว บางคนอยากจะแสดงชอ ไฟลรปภาพใหผใชร ใครทมปญหาแบบนมาดบทเรยนนเลยครบ ขนตอนการทา 1. สราง Form ขนมาโดยม FileField ขนมา โดยกาหนดชอตวแปลตามทเราตองการแตถาเราไมกาหนดโปรแกรมจะกาหนดใหวา File

โคดสราง Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" enctype="multipart/form-data" method="post" action="show.php"> //ผมกาหนดคาใหสงคาไปท show.php เชนเคย

<input type="file" name="file"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

2. หลงจากนนเขยนโคดทไฟล show.php ใหแสดงชอของรปภาพ

<? echo "ชอรปภาพทคณสงมา : ".$file_name; ?>

3. ผลทไดจากการทดลองแสดงชอ

4. ลองนาไปประยกตใชงานดนะครบ ขอใหสนกกบการทาเวบ

การสงคา Radio Button ไปยง PHP เทคนคการสงคาจาก Radio Button ไปยง PHP หลายคนยงงงกบฟอรมวาเราจะสงขอมลไปไดอยางไร กลองมาดบทความนกนเลย ขนตอนการทา 1. สรางฟอรมขนมาดวย Radio Button ผมใชโปรแกรม Dreamweaver นะครบงายด

2. กาหนดคาตวแปล และคาทเราจะสงไป

โคดทใชสราง Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="show.php"> //ผมสงขอมลมาท show.php <input type="radio" name="ch1" value="php"> php<br> <input type="radio" name="ch1" value="radiobutton"> dream<br> <input type="radio" name="ch1" value="radiobutton"> photoshop<br> <input type="radio" name="ch1" value="radiobutton"> other </form> </body> </html>

3. เขยน Scripts ทดสอบวาขอมลทเราสงมาใชไดหรอไม

<? echo "ขอมลทคณเลอก : ".$choice; ?>

4. ผลทไดจากการทดสอบการสงคา

5. ถาเราตองการจะเกบคาจากตวแปลลงฐานขอมลกนาคานนลงใสฐานขอมลไดเลยครบ

เทคนคการสรางฟอรมคนหาขอมลจากฐานขอมล เทคนคการสรางฟอรมเพอคนหาขอมลในฐานขอมล หลายคนอาจจะงงวาจะหาขอมลไดอยางไร กมาดบทความนกนเลยดกวา ขนตอนการสราง 1. สราง Form ทใชในการคนหาขนมากอนอยาลมกาหนดคาตวแปลท Textbox นะครบ

โคด Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="search.php"> //ผมกาหนดใหสงขอมลทคนหามาทไฟล Search นะครบ <table border="0" cellspacing="5" cellpadding="0"> <tr> <td>คนหาขอมล : </td> <td> <input type="text" name="search"> </td> <td> <input type="submit" name="Submit" value="คนหา"> </td> </tr> </table> </form> </body> </html>

2. คาสง SQL ทใช

$tblname : ตารางทเราจะใหคนหา $field_search : คนหาจาก Field ไหน % : คอตวอะไรกไดคลายๆ * ในการคนกาในวรโดวสนนละครบ $search : คนหาจากตวแปลทเราฝากมาจาก Form $sql = "select * from $tblname where $field_search like '%$search%'";

3. เขยนโคดคนหาทไฟล search.php

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "student"; $tblname = "grade"; $field_search = "name"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from $tblname where $field_search like '%$search%'"; //คาสง Sql ทใช $dbquery = mysql_db_query($dbname, $sql); $num_rows = mysql_num_rows($dbquery); $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; $grade = $result[grade]; echo "รหส : $id - ชอ : $name - เกรด : $grade <BR>"; //แสดงขอมล $i++; } mysql_close(); ?>

4. อยากลมแกฐานขอมลทเราตองการคนหาใหเขากบโคดนะครบ หรอจะนาไปดดแปลงกไดครบ

การแสดงผลรปภาพทอยในฐานขอมล ฉบบสมบรณ

เทคนคการแสดงผลรปภาพทอยในฐานขอมล MySQL วธนเปนวธทหลายๆ คนนาไปประยกตกนไดมาดขนตอนการทาดกวาครบ ขนตอนการทา 1. สรางไฟลเพอดงขอมลรปภาพออกมาจากฐานขอมลกอนเขยนโคดดงนผมตงชอไฟลนวา show_img.php

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from $tblname where id=$id"; //ดทเงอนไขตรงนใหดนะครบ $result = mysql_db_query($dbname,$sql) or die("ไมสามารถ query ขอมลได"); $images = mysql_fetch_array($result); echo $images['images']; //กาหนดชอ Field ทจะแสดง ?>

2. หลงจากนนใหเราดงขอมลจากไฟล show_img.php ออกมาแสดงตามหนาทเราตองการไดเลยครบ ผมตงชอไฟลนวา show.php

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from images"; $dbquery = mysql_db_query($dbname, $sql); $num_rows = mysql_num_rows($dbquery); $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; //ดงคา id ของรปภาพออกมา echo"<BR><p align=center><IMG SRC=\"show_img.php?id=$id\" BORDER=0 ALT=\"\"></p>"; //ตรงนเปนการฝากคา id ไปวาจะเอารปไหนมาแสดง $i++; } mysql_close(); ?>

3. ถาทาถกผลลพธจะไดออกมาดงภาพ

4. กลองนาไปใชดนะครบไดผลอยางไรบอกดวยนะครบ

การกาหนดคาตวแปลแบบคงทใน PHP

การกาหนดคาตวแปลคงท เพอความสะดวกในการเรยกใชตวแปลโดยทเราไมตองเสรยเวลามาสรางหรอมากาหนดคาใหกบตวแปลใหม

รปแบบคาสง

DEFINE(ชอตวแปล, คาของตวแปล);

ขนตอนการทา 1. สรางไฟล PHP ขนมาแลวเขยนโคดดงน

<?php define("hello", "สวสดครบยนดตอนรบเขาสโฮมเพจ\n"); define("line", "==============================="); define("newline", "<BR>"); define("detail", "โฮมเพจของเราเปนโฮมเพจเกยวกบการศกษาแบบ Online"); echo(hello.newline.line.newline.detail.newline.newline.line); ?>

2. หลงจากทเราเขยนเสรจลองทดสอบจะไดผลดงภาพ

ทดสอบการแสดงผลรปภาพทเกบในฐานขอมล MySQL หลงจากทเราเกบขอมลลงฐานขอมลเรยบรอยแลวเรากมาดการนาขอมลรปภาพออกจากฐานขอมลมาแสดงผล แบบแรกจะเปนการแสดงผลแบบธรรมดาไมวนลปนะครบเพอใหเขาใจหลกการแสดงผล ขนตอนการทา 1. แบบนเราจะใชแบบแสดงขอมลออกมาตรงๆ เลยจะไมรวมกบคาสง HTML

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from images"; $dbquery = mysql_db_query($dbname, $sql); $result = mysql_fetch_array($dbquery); $images = $result[images]; echo $images; ?>

2. ผลทไดจากโคดน

3. อยาลมนะครบนเปนเพยงการทดสอบการแสดงผลรปภาพ

เทคนคการเกบรปภาพลงฐานขอมล MySQL เทคนคการเกบขอมลทเปนรปภาพลงฐานขอมล Mysql กไดทาการเขยนบทความนกนซะทหลวจากทหลายคนถามมา มาดวธการทาเลยดกวา ขนตอนการทา 1. ใช PHPMyAdmin สรางฐานขอมลรองรบรปภาพทเราจะใสดวยในทน Field ทเกบรปภาพผมเกบผมชนด Blob ดงภาพ

2. หรอจะนาโคดนไป Run สรางตารางกได

CREATE TABLE images (id INT not null AUTO_INCREMENT, images BLOB not null , PRIMARY KEY (id))

3. เมอเราไดฐานขอมลแลวเรากมาสราง Form และกาหนดคาตวแปลดงภาพ

4. หรอจะนาโคดนมาสราง Form กไดครบ

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> &nbsp;&nbsp;<br> &nbsp;&nbsp;ใสรปภาพของคณทน&nbsp;&nbsp; <form name="form1" method="post" action="add.php" enctype="multipart/form-data"> //อยาลมกาหนด Action นะครบ &nbsp; <input type="file" name="files"> <br> &nbsp; <input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"> </form> </body> </html>

5. หลงจากนนเรากมาเขยนโคดทไฟล add.php

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); copy($files,$files_name); $pic_size = filesize($files_name); $pic_data = addslashes(fread(fopen($files_name,"r"),$pic_size)); $sql = "insert into $tblname(images) values ('$pic_data')";

$dbquery = mysql_db_query($dbname, $sql); mysql_close(); ?>

6. หลงจากนนลองทดสอบ up รปเลกกอนนะครบเพอเราจะไดดขอมลไดดงภาพ

7. ถาไดดงภาพแลวแสดงวาเราไดเกบขอมลทเปนรปภาพลงในฐานขอมลเรยบรอยแลว

การเกบคา CheckBox ลงฐานขอมล

ขนตอนการทา 1. สรางแบบ Form ดวย Check Box ขนมากอน

2. กาหนดคาตวแปลใหกบ Check Box

โคดแบบฟอรมทสราง

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> &nbsp;งานอดเรกคณชอบอะไร ? <form name="form1" method="post" action="add.php"> //อยาลมกาหนด action ทจะสงคาไปดวยนะครบ <input type="checkbox" name="ch1" value="com"> เลนคอมฯ<br> <input type="checkbox" name="ch2" value="book"> อานหนงสอ<br> <input type="checkbox" name="ch3" value="sport"> เลนกฬา<br> <input type="checkbox" name="ch4" value="movie"> ดหนง<br> <input type="submit" name="Submit" value="เกบประวต"> </form> </body> </html>

3. เขยนโคดท add.php

<?php $hostname = "localhost"; $user = ""; $password = ""; $dbname = "survey"; $tblname = "history"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "insert into $tblname (ch1, ch2, ch3, ch4) values ('$ch1', '$ch2', '$ch3', '$ch4')"; //กาหนดคาตวแปลทเราสงมา $dbquery = mysql_db_query($dbname, $sql); mysql_close(); echo"เกบขอมลเรยบรอยแลว"; ?>

4. ลองนาไปประยกตใชกบงานอนๆ ดนะครบ

เทคนคการแสดงคา IP Address เหนหลานคนถามมาผมเลยนามาเขยนเปนบทความเพอใหทกคน หรอผทอยากรไดทราบ IP Address กคอหมายเลขของเครองคอมพวเตอรนนๆ รปแบบคาสง

$REMOTE_ADDR //เปนคาสงทใชในการอานคา IP Address

รปแบบการใชงาน

<? $ip_address = $REMOTE_ADDR; echo "IP ของคณคอ $ip_address"; ?> หรอเขยนไดอกแบบ <? echo $ip_address = $REMOTE_ADDR; ?>

กลองนาไปประยกคใชดนะครบ ขอบคณสาหรบคาถาม-ตอบทกๆ คน ททาใหคนอนและเราไดรเพมขน

การเพมขอมลลงในฐานขอมล MySQL ฐานขอมลทใชทดสอบ

รปแบบคาสง SQL $sql = "insert into $tblname (name, surname, grade) values ('$name', '$surname', '$grade')"; //คาสง SQL ทใชในการเพมขอมล รปแบบการใชงาน 1. สรางแบบ form เพอใชในการกรอกขอมล form_grade.php

โคด form_grade.php

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874">

</head><body bgcolor="#FFFFFF"> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td> <form name="form1" method="post" action="add.php"> Name <input type="text" name="name"> Surname <input type="text" name="surname"> <br> Grade <input type="text" name="grade"> <input type="submit" name="Submit" value="Submit"> </form> </td> </tr> </table> </body> </html>

โคด add.php

<?php $hostname = "localhost"; $user = ""; $password = ""; $dbname = "student"; $tblname = "grade"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "insert into $tblname (name, surname, grade) values ('$name', '$surname', '$grade')"; $dbquery = mysql_db_query($dbname, $sql); mysql_close(); ?>

การทา Login Session แบบไมใชฐานขอมล บทเรยนนเปนบทเรยนประยกตเพอใหเขาใจเรองระบบ Login ทผมนาเสนอเปนเพยงสวนหนงอาจจะมหลายแบบลองนาไปใชกบฐานขอมลหรอแบบอนดนะครบ ขนตอนการทา 1. สรางแบบฟอรมขนมากอน ดงภาพ

โคด index.php

<? session_start(); session_destroy(); ?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="check_login.php"> <br> &nbsp;&nbsp;user : <input type="text" name="user"> <br> &nbsp;&nbsp;pass : <input type="password" name="pass"> <br> &nbsp;&nbsp; <input type="submit" name="Submit" value="Login"> <a href="#">ลมรหสผาน</a> </form> </body> </html>

2. สรางไฟลเพอเชคขอมลทผใช Login เขามาในทนผมใหเปน check_login.php โคด check_login.php

<? session_start(); $user_check="test"; $pass_check="1234"; if(($user==$user_check)&&($pass==$pass_check)){ session_register("user"); session_register("pass"); header("location:member.php"); }else header("location:index.php"); ?>

3. กาหนดหนาเมอถกตองจะใหไปทไหนในทนผมใหไปท member.php โคด member.php

<? session_start(); echo "สวสดคณ $user"; ?> เทคนคการใสขอความใน TextBox โดยใช PHP ในการเปลยนสอกษรใน PHP นนกจาเปนทจะตองใชโคด HTML ดวยเพอใชกาหนดสของตวอกษร รปแบบการใชงาน

<? echo "<font color=\"red\">webthaidd บทเรยน php online</font>"; //เรากเพยงใชคาสง Font ?>

การแสดงขอมลในฐานขอมล MySQL

ฐานขอมลทใชทดสอบ

รปแบบคาสง SQL $sql = "select * from grade"; //คาสง SQL จะเขยนอยในตวแปล sql เพองายตอการเรยกใช คาสงนเปนคาสงแสดงขอมลทงหมดทอยในตาราง ในทนกคอ grade รปแบบการใชงาน <?php $hostname = "localhost"; $user = ""; $password = ""; $dbname = "student"; //กาหนดฐานขอมล $tblname = "grade"; //กาหนดตาราง mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from $tblname"; //คาสง SQL เพอการแสดงผล $dbquery = mysql_db_query($dbname, $sql); $num_rows = mysql_num_rows($dbquery); $i=0; while ($i < $num_rows) //วนลปแสดงผล { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; //กาหนดคาตวแปล $surname = $result[surname]; $grade = $result[grade]; echo "$id $name $surname $grade<BR>"; //แสดงผลตวแปล $i++; } mysql_close(); //ปดการเชอมตอฐานขอมล ?>

การใชงานคาสง strftime

strftime เปนการแสดงวนทและเวลาอกแบบโดยแบบนเราสามารถกาหนดโซนเวลาได รปแบบคาสง

strftime ("%วน %เดอน %ป"); รปแบบการใชงาน <? setlocale("LC_TIME","th"); //กาหนดโซนเวลา echo strftime ("%d %m %y"); //แสดงรปแบบเวลาทตองการ ?>

การใชคาสง Date

Date เปนฟงคชนทใชในการแสดงวนทจาก Server เพอแสดงใหผใชทราบ รปแบบคาสง date ("วน เดอน ป"); รปแบบการใชงาน <? echo date ("d m y"); //แสดงวนท ?> แตถาเราตองการใหม / ใหเขยนดงน <? echo date ("d/m/y"); //ใส / เขาไปดวย ?>

การใชคาสง Checkdate

Checkdate เปนฟงคชนทใชในการเชควนทวาในปนนๆ มวนทนหรอไม รปแบบคาสง checkdate (เดอน,วน,ป); รปแบบการใชงาน <? echo checkdate (10,20,2000); //ใสวนท ทเราตองการทราบ หลงจากนนถาได 1 แสดงวาม 0 ไมม ?>

การใชงานคาสง switch

Switch เปนคาสงทใชในการกาหนดเงอนไขคลายๆ กบ If...Else เปนอกคาสงหนงทใหเราเลอกใช รปแบบคาสง switch (เงอไข) { case ขอกาหนด: งานทใหทา; break; }

รปแบบการใชงาน <? $i=1; switch ($i) { //เงแนไขทเชค case 0: //ขอกาหนด print "i equals 0"; break; //สนสดการทางานของเงอนไข case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; } ?>

การใชงานคาสง Continue

Continue เปนคาสงทใหทางานตอ ตามเงอนไขทเรากาหนดสงนใหญใชคกบ Break รปแบบคาสง continue; รปแบบการใชงาน <?php for ($i = 0; $i < 5; ++$i) { if ($i == 2) continue; //ใหทางานตอเมอ $i==2 print "$i\n"; } ?>

การใชงานคาสง Break

Break เปนคาสงทใชในการหยดการทางานของโปรแกรม รปแบบคาสง break; รปแบบการใชงาน <? $i = 0; while (++$i) { switch ($i) { case 5: echo "At 5<br />\n"; break; /* ออกจากการทางาน เมอทางานท 5*/ case 10: echo "At 10; quitting<br />\n"; break; /* ออกจากการทางาน เมอทางานท 10*/ default:

break; } } ?>

การใชคาสงวนลป foreach

foreach เปนคาสงวนลปทนาขอมลออกมาจากตวแปลทเปน array ชวยใหเราเรยกใชขอมลไดงายขน รปแบบคาสง foreach (ตวแปลทเปนarray as $value) งานททา รปแบบการใชงาน <?php //ตวอยางท 1 $arr = array("one", "two", "three"); reset ($arr); //สงให pointer เรมท array แรก foreach ($asize=\"2\"rr as $value) { //เงอนไข echo "Value: $value<br />\n"; //แสดงผล } //ตวอยางท 2 $a = array (1, 2, 3, 17); foreach ($a as $v) { print "Current value of \$a: $v.\n"; } ?>

การใชคาสงวนลป for รปแบบคาสง

for (เงอนไขเรม; เงอนไขสนสด; เงอนไขใหทาครงละ) งานททา

รปแบบการใชงาน

<?php /* ตวอยางท 1 */

for ($i = 1; $i <= 10; $i++) { print $i; }

/* ตวอยางท 2 */

for ($i = 1; ; $i++) { if ($i > 10) { break; } print $i; }

/* ตวอยางท 3 */

$i = 1; for (;;) { if ($i > 10) { break; } print $i; $i++; }

/* ตวอยางท 4 */

for ($i = 1; $i <= 10; print $i, $i++); ?> การใชคาสงวนลป do..while รปแบบคาสง

do { งานททา } while (เงอนไข);

รปแบบการใชงาน

<?php $i = 0; //เรมตนการวน do { print $i; //แสดงงานททา } while ($i > 0); //เงอนไขทเชค ?>

การใชคาสงวนลป while while เปนคาสงวนลป เพอชวยในการประหยดโคดทเราจะเขยน และทาใหการทางานของโปรแกรมมความเรวในการทางานขนดวย รปแบบคาสง

while (เงอไขทวน){ งานททาในขณะวนลป }

ตวอยางการใชงาน

<?php /* ตวอยางท 1 */

$i = 1; while ($i <= 10) { //เงอนไขทวน print $i++; /* แสดงผลทได $i */ }

/* ตวอยางท 2 */

$i = 1; while ($i <= 10): //เงอนไขทวน print $i; $i++; //วนครงละ 1 endwhile; ?> การสราง Database ดวย phpmyadmin การสราง Database ใน Mysql นนถาในแบบกอนๆ กจะสรางดวยคาสง และเราจะตองเปนคนเขยนคาสงเองทงหมด กมหลายคนหนไปเขยน ASP เพอจะนาฐานขอมล Access มาใชงานบนเวบไซตกม แตตอนน Mysql กมเครองมอชวยในการสราง Database แลว ความสามารถไมแพ Access เลย ชวยใหเราสราง - ลบขอมลทอยใน Database ไดงายขน ขนตอนวธการสราง Database 1.> เปด PHPMyAdmin ขนมา ถาไมมเรากหา Download มาตดตงใน Webserver ของเราได

2.> ใสชอทเราตองการ Database ในชอง Create new database แลวกดปม Create ในทนผมจะยกตวอยางการสราง Database : student

หลงจากทเรา Create

3.> หลงจากนนใหเราสรางตาราง เพอรองรบขอมลตางๆ ทเราจะเกบ ในทนผมจะสรางตาราง grade เพอเกบขอมลของนกศกษา ใหเราใสชอตารางทเราตองการสรางในชอง Create new table และทสาคญเราควรกาหนด Fields ทเราจะเกบขอมลดวย

4.> หลงจากนนกาหนดชนดของขอมลใน Fields ทเราสรางขน

5.> เพยงเทานเรากสามารถสราง Database ขนมาใชเกบขอมลในงานของเราตางๆ ไดแลว

การใชคาสง if..else IF...ELSE เปนคาสงทใชเปนเงอนไขในการตดสนใจ เราคงจะเคยเขยนโปรแกรมกนมาบาง ยกตวอยางเชน โปรแกรมการตดเกรด เรากตองนา IF มาใชงาน

รปแบบคาสง

if (เงอไขทเราจะเชค){ งานทเราจะใหทา }

รปแบบการใชงาน

<?php $a=5; $b=2; if ($a > $b) //เงอนไขทเชค print "a is bigger than b"; //แสดงผลเมอเงอนไขถกตอง ?>

การตดตง PHP โดยใช PWS จาลองเปน Server (win 95, 98, Me) การตดตงโปรแกรม Pws ถาใช Pws ตองตดตง 2 ตว คอ Pws และ ก ตว Compiler PHP ( Downloads ไดท

http://www.php.net/ ) ขนตอนการตดตง 1.> ตดตง Pws จะอยในแผน Win98 Full อยใน Folder add-on การตดตงกไมยากแต คลก Next Next และก Next กเสรจครบ หลงจากทหาโปรแกรม Pws ไดแลว คลกท Setup

2.> จะปรากฏดงรป ใหเลอก Next

3.> เลอกแบบ Custom และเลอก Next

4.> ในสวนนไมตองทาอะไรครบ เลอก Next ตอไปเลย

5.> ในสวนนไมตองทาอะไรเหมอนกนครบ เลอก Next ตอไปเลยครบ

6.> ใหเปลยน MTS Istall Folder เปน C:\Mts เลอก Next ตอไปเลยครบ เมอลงเสรจให Restart เครองนะครบ

ตดตงตว Compiler PHP 1.> ขนตอนการลงกไมยากครบ ดบเบลคลก และให Program นาไฟลตาง ๆ ไปใวท C:\PHP ซงแตละขนสามารถอานและเขาใจไดครบ

2.> ขนตอนการตดตงกไมยากครบ เลอก Next --> Next

3.> Regedit ของ Pws เพอใหรจกนามสกล .php เลอก Start Menu --> Run พมพ Regedit

4.> ใหไปท HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap

5.> click ขวาทชองดานขวาของโปรแกรม และเลอก New -> String Value ใหพมพ .php ลงไป

6.> จากนน double click เพอกาหนดคาใหกบ .php น โดยชไปยงตวแปลภาษา PHP ทอยในระบบ

7.> ในสวนของ c:\php\php.exe %s %s ขนอยกบการตดตงครบ

8.> หากตองการใช นามสกล .php3 กทาเหมอนกนครบ

9.> เปนอนเสรจการลง Pws ใหใช php ไดครบ ( อยาลม Restart เครองนะครบ ) หลงจากนนลองทดสอบด http://127.0.0.1/Files-name

การตดตง PHP โดยใช Apache จาลองเปน Server สาหรบการตดตง Apache ผมจะแนะนาโปรแกรม Appserv ซงเปน โปรแกรมทรวมเอา packageAppserv คอ โปรแกรมทรวมเอา Package ของ - php - apache - mysql - php-nuke มาใวรวมกน ซงครบสตรเลยครบ ในการพฒนาโปรแกรม PHP หา Appserv ไดจากไหน ? Appserv เปน Freeware ทสามารถใชงานฟรครบ สามารถ downloads ไดท http://sourceforge.netหรอจะ downloads ไดท http://sourceforge.net/project/showfiles.php?group_id=37459

ซง เวอรชนลาสดทกวนน จะเปน Appserv-win32-2.3.0.exe ในการ downloads อาจตองใชโปรแกรมชวยครบ เพราะไฟลมขนาด 24 M ขนไป ครบ ตดตงอยางไร ? 1.> หลงจากท downloads เสรจเรยบรอยแลว

2.> ดบเบลคลกเพอตดตง

3.> เลอก Next

4.> เลอกรปแบบ Custom และเลอก Next

5.> เลอก รปแบบดงรป และเลอก Next

6.> กาหนด ชอ Domain ในทน ไมตองเปลยนครบ ใหกาหนด เปน localhost และใสอเมลลดวยครบ และเลอก Next

7.> ในสวนนหากตองการกาหนด Password ใหกบ Mysql หากไมตองการใหปลอยวางเอาใวครบ แนะนาไมตองใสครบ เลอก Next

8.> ตกเลอกดงรป เพอเปนการ Start Apache และ Mysql การตดตงเปนเสรจสมบรณแลวครบ

ทดลองใชงาน 1.> เปดโปรแกรม IE ( Interner Explorer ) Run ดงน http://localhost หรอ 127.0.0.1

//ถา ผลลพธ ไดดงรปแสดงวาสามารถ เขยน PHP ไดแลวครบ

ความหมายของ PHP ? ในปจจบน Web site ตาง ๆ ไดมการพฒนาในดานตางๆ อยางรวดเรว อาทเชน เรองของความสวยงามและแปลกใหม, การบรการขาวสารขอมลททนสมย,เปนสอกลางในการตดตอ และสงหนงทกาลงไดรบความนยมเปนอยางมากซง อไดวาเปนการปฏวตรปแบบการ ขายของกคอ E-commerce ซงเจาของสนคาตางๆ ไมจาเปน ตองมรานคาจรงและไมจาเปนตองจางคนขายของอกตอไปรานคาและตวสนคานน จะไปปรากฏอยบน Wed site และการซอขายกเกดขนบนโลกของ Internet แลว PHP ชวยเราใหเปนการพฒนา Web site และความสามารถทโดดเดนอกประการ-หนงของ PHP นน คอ database-enabled web page ทาใหเอกสารของ HTML สามารถท จะเชอมตอกบระบบฐานขอมล (database)ไดอยางมประสทธภาพและรวดเรว จงทาให ความตองการในเรองการจดรายการสนคาและรบรายการสงของตลอดจนการจดเกบ ขอมลตางๆ ทสาคญผานทาง Internet เปนไปไดอยางงายดาย PHP เปนภาษาจาพวก scripting language คาสงตางๆจะเกบอยในไฟลทเรยกวา สครปต (script) และเวลาใชงานตองอาศยตวแปลชดคาสง ตวอยางของภาษาสครปกเชน JavaScript, Perl เปนตน ลกษณะของ PHP ทแตกตางจากภาษาสครปตแบบอนๆ คอ PHP ไดรบการพฒนาและออกแบบมา เพอใชงานในการสรางเอกสารแบบ HTML โดยสามารถสอดแทรกหรอแกไขเนอหาไดโดยอตโนมต ดงนนจงกลาววา PHP เปนภาษาทเรยกวา server-side หรอ HTML-embedded scripting language เปนเครองมอทสาคญชนดหนงทชวยใหเราสามารถสรางเอกสารแบบ Dynamic HTML ไดอยางมประสทธภาพและมลกเลนมากขน เนองจากวา PHP ไมไดเปนสวนหนงของตว Web Server ดงนนถาจะใช PHP กจะตองดกอนวา Web server นนสามารถใชสครปต PHP ไดหรอไม ยกตวอยางเชน PHP สามารถใชไดกบ Apache WebServer และ Personal Web Server (PWP) สาหรบระบบปฏบตการ Windows 95/98/NT ในกรณของ Apache เราสามารถใช PHP ไดสองรปแบบคอ ในลกษณะของ CGI และ Apache

Module ความแตกตางอยตรงทวา ถาใช PHP เปนแบบโมดล PHP จะเปนสวนหนงของ Apache หรอเปนสวนขยายในการทางานนนเอง ซงจะทางานไดเรวกวาแบบทเปน CGI เพราะวา ถาเปน CGI แลว ตวแปลชดคาสงของ PHP ถอวาเปนแคโปรแกรมภายนอก ซง Apache จะตองเรยกขนมาทางานทกครง ทตองการใช PHP ดงนน ถามองในเรองของประสทธภาพในการทางาน การใช PHP แบบทเปนโมดลหนงของ Apache จะทางานไดมประสทธภาพมากกวา ลกษณะเดนของ PHP

ใชไดฟร PHP เปนโปร แกรมวงขาง Sever ดงนนขดความสามารถไมจากด Conlatfun-นนคอPHP วงบนเครอง UNIX,Linux,Windows ไดหมด เรยนรงาย เนองจาก PHP ฝงเขาไปใน HTML และใชดครงสรางและไวยากรณภาษางายๆ เรวและมประสทธภาพ โดยเฉพาะเมอใชกบ Apach Xerve เพราะไมตองใชโปรแกรมจากภายนอก ใชรวมกบ XML ไดทนท ใชกบระบบแฟมขอมลได ใชกบขอมลตวอกษรไดอยางมประสทธภาพ ใชกบโครงสรางขอมลใชไดแบบ Scalar,Array,Associative array ใชกบการประมวลผลภาพได

การแสดงผลขอมล Access //กอนทเราจะนาขอมลจากตารางทเราสรางไวใน Access ออกมาใชงานนนเราจะตองเชอมตอขอมลกบ ODBC เสยกอน ดงน รปแบบโคดการเชอมตอ $dsn = "book"; // กาหนดชอ DSN $user =""; // กาหนดชอลอกอน (ถาไมมไมตองใส) $pass =""; // กาหนดรหสผาน (ถาไมมไมตองใส) $connect = odbc_connect($dsn, $user, $pass) or die("ตดตอ DSN ไมได"); //ในบรรทดนเปนสวนทนาคาตวแปลมาแลวนาไป Connect กบ ODBC ทเราตงคาไว รปแบบการประยกตใชงาน <?php echo "การแสดงผลขอมลในตารา ง"; $dsn = "book"; $user =""; $pass =""; $connect = odbc_connect($dsn, $user, $pass) or die("ตดตอ DSN ไมได"); $sql = "select * from book"; // กาหนดคาสง SQL เพอแสดงขอมล $exec = odbc_exec($connect, $sql); // เรมเอกซควตคาสง SQL odbc_result_all($exec,"border=1"); // แสดงขอมลในรปตาราง odbc_free_result($exec); odbc_close($connect); // ปดการเชอมตอ ?> //เปนอยางไรบางครบไมยากเลยใชไหมครบลองนาไปใชด

การสงขอมลผานฟอรม //การสงขอมลผานฟอรม นนจะถอวาเปนสวนสาคญอกสวนหนงในการทาเวบ ดงนนเราควรจะทราบถงโครงสรางในการสงขอมล เพอไมใหเสยเวลาเราเรมลงมอเลยดกวา 1.> ขนแรกเราควรจะสราง Form ทใชในการสงขอมล จะใชโปรแกรมอะไรสรางกไดนะครบในทนผม

ใช Dream เพราะวาสรางงายด ในตวอยางนผมจะลองสง ชอ - นามสกล เพอนาไปแสดงผล ดงภาพ Tip - อยาลมกาหนดชอตวแปลท TextField นะครบ

2.> หลงจากนนเรากมาเขยนโคดไวท File ทเรา Action ไปในทนผมให Action ไปทไฟล show.php รปแบบโคด <? echo "รายชอพนกงาน Webthaidd.com<BR>"; echo "คณ $name $surname"; //อยาลมใสชอตวแปลใหตรงกบคาทเราตงไวใน Form ดวยนะครบ ?> //เปนอยางไรกนบางครบไมยากเลยใชไหมครบ ไดผลอยางไรเมลมาบอกกนบางนะครบ //บทเรยนมปญหา หรอแนะนาตชมเพอเปนกาลงใจในการเขยนบทความตอๆ ไปไดท webmaster@webthaidd.com

การ Dump ขอมล MySQL //พดถงการ Dump ขอมลบางคนอาจจะงง จรงๆแลวกคอการ Backup ขอมลจากฐานขอมล Mysql นนเอง แตอยาลมวางานนเราตองม phpMyAdmin นะครบเปนเครองมอหนงทเราจะจดการกบฐานขอมลได ทผมใชในการสอนนเปน phpMyAdmin 2.1.0 แต Version อนๆกคลายกนครบ ลงมอเลยดกวา :-) 1.> ทาการ Run PHPMyAdmin ขนมาเพอดวาเราจะ Dump Database ตวไหน

2.> หลงจากนนใหเราเลอก Database ทเราตองการ Dump ในทนผมใช Database : webthaidd คงไมวากน

3.> หลงจากนนใหเราเลอก Properties ของตารางทเราตองการ Dump

4.> หลงจากทเราเลอก Propties แลวเรากมาเลอก Option ในการ Dump ขอมล

5.> เมอเราทาการเลอก Option เรยบรอยแลว กด GO กเปนอนเรยบรอย งายไหมครบ Tip - ถาเราตองการ Dump เฉพาะโครงสรางกเลอก Structure only นะครบ

//บทเรยนมปญหา หรอแนะนาตชมเพอเปนกาลงใจในการเขยนบทความตอๆ ไปไดท webmaster@webthaidd.com

การใชคาสง Random กบฐานขอมล

//บางคนถามวาถาเราตองการสมขอมลจากฐานขอมลทาอยางไร จรงๆแลวสามารถทาไดหลายวธ ทผมเขยนนเปนอกวธหนงนะครบ ลงมอเลยดกวา

รปแบบโคด Random ทใชในฐานขอมล //คาสงนเปนการสมขอความจากฐานขอมลออกมาแสดง <? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "database name"; //ใสชอ Database $tblname = "table name"; //ใสชอตารางทเราตองการคนหาขอมล mysql_connect($hostname, $user, $password) or die("No Connect Database!"); mysql_select_db($dbname) or die("No Connect Database!"); $sql = "select * from $tblname"; //บรรทดทใชในการเขยนคาสง SQL $result = mysql_db_query($dbname,$sql); //นาคาสง SQL ไปประมวลผมกบ Database $num_rows = mysql_num_rows($result); //หาจานวนแถวทคนหาขอมลได $random_row = rand(0, ($num_rows - 1)); //ตรงนละครบทใชคาสง Random เพอสมคา mysql_data_seek($result,$random_row); //คนหาคาทไดจากการ Random $data = mysql_fetch_array($result); $message = $data["message"]; //นาขอมลทไดเกบใสทตวแปล echo $message; //แสดงขอมลจากตวแปลทได mysql_close(); ?> //ลองนาไปประยกตใชดนะครบ เชน การสม Banner ออกมาแสดงบนเวบไซต

การสรางแบบฟอรมสงเมล //พดถงแบบฟอรมสงเมล บางคนถามวาเราตอง Set คาอะไรบาง, จะสงอยางไร, สรางฟอรมอยางไร สวนใหญแลวการสงเมลผานโดยโปรโตคอล SMTP และสวนใหญคาเหลานเราไมสามารถเปลยนแปลงได จะเปนคาทกาหนดอยท Srever ดงนนเราเพยงแตสราง Form และเขยน Scripts ใหถกตองเพยงเทานเรากสามารถสงเมลไดแลว

เรมสรางแบบฟอรมสงเมล

1.> เราจะใชโปรแกรมอะไรสรางแบบฟอรมกไดนะครบไมวาจะเปน HTML หรอจะเปนโปรแกรม Dreamweaver สดฮทกตามในทนผมใชโปรแกรม Dreamweaver เรมจากเปดหนาเอกสารทใชในการสราง Form พรอมกบเปดเครองมอทใชในการสราง Form เชนกน

2.> เรมนาเครองมอทใชสราง Text Field, Button มาใชในการสราง Form ดงรป

หมายเหต //ในสวนของการกาหนดคาตวแปลผมไดกาหนดคาไวดงน - ชองผสงกาหนดเปน : form - ชองผรบกาหนดเปน : to - ชองหวเรองกาหนดเปน : subject - ชองขอความกาหนดเปน : message * อยาลมกาหนด Action ใหฟอรมดวยนะครบ (ในทนผมให Action ไปท sent_mail.php 3.> หลงจากทเราสรางแบบฟอรมเสรจแลวกให Save เกบไวชอวา form_mail.htm Tip - การทเราไมได save เปนนามสกล .php เพราะวาเราไมไดเขยน Scripts ลงในไฟลเอกสารนนๆ

รปแบบโคดในไฟล (sent_mail.php) <? mail($to, $subject, $message, $form); //Function mail แลวตามดวยคาตวแปลตางๆ

?> หมายเหต //แตถาเราตองการเชคคาวาทาการสงเสรจสมบรณหรอไมใหเขยนโคดดงน <? if(mail($to, $subject, $message, $form)){ //เพยงแคเราใส If เพอทาการเชคคาเพมลงไป echo "สงขอมลถง $to เรยบรอยแลว"; }else { echo "ไมสามารถสงขอมลถง $to ในขณะนได"; } ?> 4.> เสรจแลวกลองทดสอบดครบ !ไมสามารถทดสอบในเครองเราไดนะครบตองทดสอบท Server ทเราเชาบรการอยนะครบ ไดผลลพธอยางไร Post หรอเมลบอกบางนะครบ

การใชคาสง Include กบการแสดงผล

//บางคนถามวาการใชคาสง Include ใหแสดงผลตามตวแปลทเราตองการไดอยางไร ลงมอเลยดกวาครบ

ตวอยางโจทย //ถาเราสงคาตวแปลมาทไฟล index.php?page=lyrics (เพอทจะเปดหนาสวน template ตรง pagefile ใหเปน lyrics.php) หลงจากนนใหเปดไฟลทเราตองการขนมา

คาสงทใช - คาสง If..Else เพอทจะใชเชควาจะใหแสดงไฟลไหน - คาสง Include เพอใชในการนาไฟลทเราตองการมาแสดง

รปแบบโคด <? if($page=="lyrics"){ //เชคคาตวแปล include('lyrics.php'); //ถาถกตองนาไปแสดงผล } ?>

การนาไปใชถามหลายไฟล <? if($page=="lyrics"){ //เชคคาตวแปล include('lyrics.php'); //ถาถกตองนาไปแสดงผล }else if($page=="navigator"){ include('navigator.php'); } //เขยนตอไปเรอยเทาทเราตองการ ?> //เหนไหมครบไมยากเลยลองนาไปประยกตใชดนะครบ

การกาหนดคา ODBC

//กอนทเราจะตดตอฐานขอมลกบ Access กตองมการตงคาตวเชอมตอกอนกคอ ODBC ของเรานละครบ แตทผมเขยนเปนการตงคา ODBC ใน window xp หลายคนกอาจจะงงวามนไมเหมอนกนหรอ

ไง จรงๆกเหมอนกนครบแตทอยของตวตงคานนตางกน ลงมอกนเลยดกวา 1.> เขาไปท Control Panel --> Administrative Tools จะปรากฏเครองมอ Set คา ODBC

2.> ใหเราเลอกเครองมอ Data Sources (ODBC) ขนมาเขาไปทหวขอ System DNS

3.> หลงจากนนกดปม Add จะมหนาตางใหเราเลอกกรเชอมตอเรากเลอกการเชอมโยงไปท Microsoft Access หลงจากนนกกดปม Finish

4.> หลงจากทเรากด Finish แลวจะมหนาตางมาใหเราระบทอยของไฟล Access (ตรงนสาคญ) ในชอง Data Source Name ใหเราใสชอทเราจะใชในการเชอมตอในการตงชอควรใหสอดคลองกบไฟลทเราทาเพอไมใหเกดการสบสน ยกตวอยางเชน ถาไฟลของเราเกยวกบหนงสอเราอาจตงชอเปน book หลงจากทเราไดตงชอเรยบรอยแลว ใหเราเลอกทปม Select เพอระบตาแหนงไฟล Access

5.> หลงจากทเรากด Select แลวนนกจะปรากฏหนาตางขน เรากหาไฟล Access ทเราตองการ

6.> หลงจากนนกกด OK แคนกเสรจแลวครบไมยากเลยใชไหมครบลองนาไปใชด

//มปญหาบทเรยน หรอสนใจสงบทความเขารวมตดตอ webmaster@webthaidd.com

การประกาศตวแปลในภาษา PHP

//จรงๆ แลวในการประกาศตวแปลในภาษา PHP จะไมตองมการกาหนดอะไรมากมายนก จะไมเหมอนภาษา C ซงถาเราประกาศตวแปลเปนชนดใดเราจะตองบอกดวยวาตวนนเปนชนดใด แตในภาษา PHP ไมตองเพยงแคเราประกาศตวแปลและเรยกใชใหถกตองแคนนเอง

ขอบเขตการตงชอตวแปล

1. ขนตนดวยเครงหมาย $ แลวตามดวยตวอกษร A-Z,a-z 2. มความยาวไมเกน 255 ตวอกษร 3. หามมจดทศนยม หรอชองวาง 4. จะตองไมตรงกบคาสงวน และควรตงชอ ใหมความหมายใกลเคยงกบ คาทเกบ 5. ตวอกษรเลกหรอใหญจะเปนตวแปรตางกน 6. ถาตงตวแปรมาใหม แลวทบตวแปรเกา คาของตวแปรเกาจะหายไป ทมา : ThaiCreate.Com

รปแบบการประกาศตวแปลชนดตางๆ //การประกาศตวแปลชนด Integer <? $number; //บรรทดนเปนการประกาศตวแปลแตยงไมไดระบคา $data =100; //บรรทดนเปนการประกาศตวแปลแบบระบคา echo $data; //ลองทดลองด ?> //การประกาศตวแปลชนด Float <? $number; //จะมการประกาศทเหมอนกนครบแตเรยกใชใหถก $data =100.53; //จะเหนไดวาบรรทดนสามารถใสจดทศนยมลงไปได echo $data; //ลองดกนดกวา ?> //การประกาศตวแปลชนด String <? $url="webthaidd.com"; //ขอสงเกตการประกาศตวชนดนจะมเครองหมาย (" ") ครอบอย $text_number="12345"; //หรอขอความทเปนตวเลขดวย echo $url.$text_number; ?>

ชนดของตวแปลในภาษา PHP //ในภาษาทมการเขยนโปรแกรมกมการประกาศตวแปล เพอนาขอมลทไดรบไปเกบไวใน Memory เพอรอนาไปประมวลผลอท ดงนนกอนทเราจะประกาศตวแปลเราตองรจกชนดของตวแปลกอน

รปแบบชนดของตวแปล

Integer :เปนตวแปลชนดทเกบขอมลจานวนเตมบวก และจานวนเตมลบ ไมสามารถเกบขอมลทเปนทศนยมได

Float :เปนตวแปลชนดทเกบขอมลจานวนเตมบวก และลบจะคลายชนด Integer แตสามารถเกบขอมลทเปนจดทศนยมได

String :เปนตวแปลชนดทเกบขอมลประเภทตวอกษร เชน ขอความ ตวอกษรชนดตางๆ Array :เปนตวแปลทสามารถเกบขอมลไดเปนชดๆ สามารถใชเกบขอมลทเปนตวเลขหรอ

ตวอกษรกได Object :เปนตวแปลทเกบขอมลในลกษณะของ Object เพอใชในการเรยกใชของ Class

ตางๆ Type Juggling

:เกบขอมลในลกษณะเฉพาะ หรอผใชเพมเตมเขามา

การเชอมขอความหลายขอความ

//บางทในการเขยนภาษา PHP อาจจะมหลายองคเขามาเพอใหเรานามาเชอม อยางเชนขอความหลายๆ ขอความนามาเชอมเพอนาไปแสดงผลทเดยว บางคนอาจนกภาพไมออกอยางเชน ชอ-นามสกล ทมาลงทะเบยนบนเวบของเรา ดงนนเราควรจะทราบรปแบบการเชอมขอความ ดงตวอยางน

รปแบบโคด //แบบท1 ใชจดในการเชอม (.) <? echo "WebThaiDD".".COM";//ในคาสงนเราใชจดในการเชอม (คงเหนนะครบ [-_-!] จดเลกไปหนอย) ?> //แบบท2 ใชคอมมารในการเชอม (;) <? echo "WebThaiDD",".COM";//คาสงนใชคอมมารในการเชอม ?>

//ลองนาไปใชดนะครบ คาสงแสดงผลบน Browser //คาสงแสดงผลบน Browser เปนคาสงทใชในการแสดงขอมลไมวาจะเปน ขอความ, รปภาพ, ขอมลในฐานขอมล เราสามารถเขยนรปคาสงดงน

รปแบบโคด <? echo "webthaidd.com"; //รปแบบคาสงทใชแสดงโดยเราจะเขยนขอมลทเราตองการแสดงผลไวในเครองหมาย "..." และปดทายดวยเครองหมาย ; ?>

รปแบบอนๆ echo $name; //ใชในการแสดงผลตวแปล เชนตวแปล $name

โครงสรางของภาษา PHP //ภาษาทเราใชเขยนโฮมเพจ ทกภาษายอมมรปแบบเปนของตวเอง ภาษา PHP กเชนกน

รปแบบโคด <? //TAG เรมตนในการเขยน ........... //สวนรายระเอยดของโฮมเพจทเราตองการแสดง ?> //TAG จบการทางาน เขยนในรปแบบอน <?php ........//เขยนอกแบบหนงแตใชงานเหมอนกน ?>

การนาโคด PHP ใสใน HTML

//บางคนถามวาเราเขยน PHP มาตงนานแลวจะเอาไปใชกบ HTML ยงไงละเนยงง ไหนจะโปรแกรม Dreamweaver ยงไมเปนอยวนเลยใชไหมครบ ถาเพอนๆ อานบทความนแลวทาไดแน

รปแบบ HTML ของเดม (จากนไดไหม) <html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> //ทราบหรอไมวา charset=windows-874 ทาใหเวบเปนภาษาไทย </head> <body bgcolor="#FFFFFF">

</body> </html>

จบ PHP ใส HTML //ยกตวอยางเราจะแสดงขอความตอนรบในเวบโดยใช PHP //จากโคด HTML ตวเดมนะครบ <html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <? echo "ยนดตอนรบเขาส webthaidd.com"; //นไงครบไมยากเลยใชไหมครบ ?>

</body> </html>

//ลองนาไปใชดนะครบ

Recommended