Thursday, July 19, 2012

ฟังก์ชัน PHP ที่มีประโยชน์

PHP มีฟังก์ชันภายในที่ทำงานกับข้อความและการแสดงผล ในเบื้องต้นจะแนะนำบางฟังก์ชันที่มีประโยชน์

nl2br

ถ้า สังเกตให้ดีจะพบว่าข้อความที่มีการเว้นบรรทัดนั้น เมื่อแสดงผลด้วย HTML จะไม่ขึ้นบรรทัดใหม่ใน browser ของผู้ใช้ เนื่องจากการตัด whitespace ดังนั้นการแสดงผลให้เว้นบรรทัด ให้เรียกฟังก์ชัน nl2br() ที่จะแปลงตัวอักษรบรรทัดใหม่ให้เป็น </br> tag ตามสคริปต์นี้

<?php

$stringval =<<<NLSTRING

นี่เป็นตัวอย่างข้อความที่
ประกอบด้วยการขึ้นบรรทัดใหม่
และต้องการดูผลลัพธ์
ให้เหมือนกับข้อความต้นทางนี้

NLSTRING;

                  echo nl2br($stringval);

?>

ผลลัพธ์คือ

นี่เป็นตัวอย่างข้อความที่
ประกอบด้วยการขึ้นบรรทัดใหม่
และต้องการดูผลลัพธ์
ให้เหมือนกับข้อความต้นทางนี้

var_dump

มี บ่อยครั้งที่อาจจะมีการทดลองหรือเขียนโปรแกรม และมีความต้องการดูเนื้อหา รวมทั้งธรรมชาติแบบไดนามิคส์และไม่มีการประกาศประเภทข้อมูลให้ตัวแปรอย่าง ชัดเจน หมายความว่าจะไม่ทราบประเภทข้อมูลปัจจุบันที่แน่นอน ฟังก์ชัน var_dump แสดงประเภทและค่าของตัวแปรในผลลัพธ์ สำหรับข้อความ var_dump ให้จำนวนตัวอักษรในข้อความ

<?php

$floatval = 123e-456;
$intvar = 123456;
$stringval = "Hello world";

var_dump($floatval);      echo "<br/>\n";
var_dump($intvar);        echo "<br/>\n";
var_dump($stringval);    echo "<br/>\n";

?>

ผลลัพธ์จากคำสั่งข้างบนคือ
float(0)
int(123456)
string(10) ?Hello world?

print_r

ฟังก์ชัน print_r คล้ายกับ var_dump แต่สร้างผลลัพธ์ที่อ่านได้ง่าย print_r  ให้มีการเพิ่มค่าตัวเลือก(เรียกว่า พารามิเตอร์) ที่บอกให้ฟังก์ชันนี้ส่งออกผลลัพธ์เป็นข้อความแทนที่การส่งผลลัพธ์ออกไป

<?php

$stringval = "เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต";

print_r ($stringval);    echo "<br/>\n";
$result = print_r ($stringval, TRUE);
echo $result;

?>

ผลลัพธ์จากคำสั่งข้างบนคือ
เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต
เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต

var_export

ฟังก์ชัน แสดงผลสุดท้ายคือ ฟังก์ชัน var_export ที่คล้ายกับ var_dump มาก ยกเว้นผลลัพธ์ได้รับการนำเสนอค่าของข้อมูลแบบคำสั่ง PHP               

<?php

$arr = array(1, 2, 3, 4);
var_export($arr);

?>

ผลลัพธ์จากคำสั่งข้างบนคือ
array( 0 => 1, 1 => 2, 2 => 3, 3 => 4)

Quoted

ในการเขียนคำสั่งข้อความโดยเฉพาะคำสั่ง echo การใช้ quoted จะสร้างความสับสนให้กับตัวกระจาย PHP ได้ เช่น
echo "<td width="15%">";

คำสั่งนี้สร้างความผิดพลาด ดังนั้นต้องใช้ quoted ต่างกัน
echo "<td width='15%'>";

หรือ
echo '<td width="15%">';

ในการเขียนประโยคคำสั่งคิวรี่ การใช้ quoted ภายในประโยคคำสั่งจะทำตัวกระจาย MySQL เกิดความสับสน
INSERT INTO message VALUES("การสัมนาเรื่อง "การดูแลสุขภาพ" เริ่มเวลา 16.00 ");

การคำสั่งต้องใช้ slash (\) กับ quoted ที่ไม่ใช้ส่วนการห้อหุ้ม
INSERT INTO message VALUES("การสัมนาเรื่อง \"การดูแลสุขภาพ\" เริ่มเวลา 16.00 ");

ขอบคุณเนื้อหาดีๆจาก widebase.net

syntax error คือ

วันนี้ผมนึกครึ้มอกครึ้มใจอะไร มิทราบ ลองค้นหาคำว่า syntax error ในกูเกิล แทบไม่น่าเชื่อนะครับว่า คำๆนี้ มีคนอยากทราบความหมายมันเป็นจำนวนมากทีเดียว

เมื่อมีคนอยากทราบ ผมก็จะเขียน เผื่อจะช่วยวงการการเขียนโปรแกรมไทย ให้หายสงสัยในบางหัวข้อ ได้อีก 1 หัวข้อ
syntax error  ถ้าแปลตามตัวก็จะได้ความว่า ความผิดพลาดทางไวยากรณ์ ซึ่งก็คือผิดข้อกำหนดของภาษานั้นๆ เช่น อย่างภาษา php มีข้อกำหนดว่าต้องปิดท้ายคำสั่งด้วย ; แต่เราดันทะลึ่งลืม หรือบางครั้งเปิด { แต่ดันลืมปิด } หรือเขียนคำสั่งผิดไปเลย เช่น echo เขียนเป็น egho อย่างนี้เป็นต้น
เอาละครับเรามาพูดให้ลึกกันอีกสักหน่อย error ในการเขียนโปรแกรมนั้น จะมีอยู่ 3 ประเภท คือ
  1. syntax error คือ ผิดไวยากรณ์ error ชนิดนี้แก้ง่ายที่สุด
  2. runtime error คือ ผิดขณะรันโปรแกรม error นี้จะปรากฎขณะรันโปรแกรมเท่านั้น จะไม่ค่อยได้เจอกันบ่อยครับ error ประเภทนี้ แก้ยากขึ้นมาหน่อยนึง
  3. logic error คือ คิดผิด error ประเภทนี้แก้ยากที่สุด ยากมากๆด้วย เพราะมันจะไม่ฟ้องอะไรเลย แต่ผลลัพธ์ออกมาผิด อีกทั้งใจเรายึดมั่นว่ามันถูก เลยไปกันใหญ่
หวังว่าบทความนี้จะช่วยสร้างแสงสว่าง(ตราค้างคาว)ที่ปลายอุโมงค์ ได้บ้างไม่มากก็น้อยนะครับ

Error ที่ (น่าจะ) เจอบ่อย ของ PHP




Error ที่ (น่าจะ) เจอบ่อย ของ PHP
Parse error: syntax error, unexpected ‘;’ in E:wwwgameanswer_right.php on line 98
ลืม ; จบประโยค ให้แก้ทีบรรทัดเหนือ 98
Parse error: syntax error, unexpected ‘)’ in E:wwwgameplay_game_3.php on line 59
พิมพ์ ) ไม่ครบ อาจจะเปิด 3 แล้วปิด แค่ 2 ให้แก้ที่บรรทัดที่ฟ้อง

May. 09 16 วิธีแก้ปัญหา Parse error: syntax error, unexpected T_VARIABLE

ภาพไม่เกี่ยวข้องกับบทความ ไว้ดูให้สบายตา เฉยๆ
ปัญหานี้เกิดจากท่านลืมปิดประโยคคำสั่งด้วย ; (semi colon) ดูตัวอย่างโค้ดที่มีปัญหานะครับ
<?php
$to = "platoosom@gmail.com";
$from = "platoosom@hotmail.com";
$subject = "ลองส่งเมล์ที่มี notification"
$message = "ทดสอบ";
?>
เออเร่อจะเป็นดังนี้
Parse error: syntax error, unexpected T_VARIABLE in E:\www\tutorial\Untitled-1.php on line 5
ท่านจะเห็นว่า เราลืมปิด ; ท้ายบรรทัดที่ 4 เวลาฟ้องมันจะฟ้อง บรรทัดที่ 5 เพราะฉะนั้น เวลาแก้ท่านก็ดูเหนือบรรทัดที่ฟ้องไป 1 บรรทัด นะครับ

PHP เบื้องต้น

1. เริ่มต้นด้วย PHP

PHP เป็นภาษาตัวแปลสคริปต์ หมายความว่า language engine เรียกใช้สคริปต์ที่เขียนขึ้นโดยไม่มีขั้นตอนกลางในการคอมไพล์ หรือไปเป็นรูปแบบไบนารี สคริปต์ส่วนใหญ่ที่ใช้สร้างโปรแกรมประยุกต์เว็บอยู่ในที่เดียวกับไฟล์ HTML ตามปกติไฟล์เก็บสคริปต์จะเก็บเป็นนามสกุล .php ถึงแม้ว่าบุคคลทั่วไปจะใช้นามสกุลเก่าคือ .php3 และ .phtml พื้นที่เก็บไฟล์เหล่านี้จะขึ้นกับการตั้งค่าคอนฟิกให้แม่ข่ายเว็บส่งผ่าน ไฟล์เหล่านี้ไปยังตัวแปร PHP พื้นที่จัดเก็บไฟล์หรือเอกสารนี้ได้รับอ้างถึงในฐานะ document root

การใช้ PHP Tag

PHP Tag ตามตัวอย่าง เริ่มต้นด้วย <?  และปิดด้วย  ?>  คล้ายกับ  HTML tag  เพราะเริ่มต้นด้วยเครื่องหมายน้อยกว่า (<)  และปิดด้วยเครื่องหมายมากกว่า  (>)  สัญลักษณ์เหล่านี้ เรียกว่า  PHP tag  ที่บอกแม่ข่ายเว็บการเริ่มต้นและสิ้นสุดคำสั่ง  PHP  ข้อความระหว่าง tag จะได้รับการแปลในฐานะ  PHP ข้อความภายนอก tag เหล่านี้ได้รับการปฏิบัติเหมือน HTML ปกติ  PHP tag  ยอมให้หลีกจาก  HTML

รูปแบบ PHP tag

รูปแบบ  PHP tag มี 4 แบบ แต่ละแบบของคำสั่งอย่างเหมือนกัน

รูปแบบย่อ (Short style)
<?  echo "<h1>พูนพนา</h1>";?>

รูป แบบนี้เป็นรูปแบบง่ายที่สุดและเป็นไปตามมาตรฐานการประมวลผล SGML (Standard Generalized Markup Language) การใช้ tag ประเภทนี้ต้องให้ใช้ short tag ในไฟล์คอนฟิก php.ini ที่คำสั่ง short_open_tag ให้เป็น enable แต่ไม่แนะนำเนื่องจากไม่เป็นไปตามมาตรฐาน XHTML และมาตรฐานส่วนขยายเช่น PEAR

รูปแบบ  XML
<?php echo "<h1>พูนพนา</h1>";?>

 tag รูปแบบนี้สามารถใช้กับเอกสาร  XML  (Extensible  Markup  Language)  ถ้าวางแผนให้ทำงานกับ  XML  ต้องใช้รูปแบบนี้

รูปแบบ  SCRIPT
< SCRIPT LANGUAGE='php'> echo "<h1>พูนพนา</h1>"; </SCRIPT>

tag รูปแบบนี้  ยาวที่สุดและอาจจะคุ้นเคย ถ้าเคยใช้  JavaScript  หรือ  VBScript

รูปแบบ  ASP
<% echo "<h1>พูนพนา</h1>"; %>

tag รูปแบบนี้เหมือนกับ Active Server  Pages  (ASP)  สามารถใช้ได้  ถ้าตั้งค่าคอนฟิกคำสั่ง  asp_tags ให้เป็น enable

ประโยคคำสั่ง  PHP

ประโยคคำสั่ง  PHP ใช้บอกตัวแปล PHP ให้ทำงาน โดยให้อยู่ระหว่าง tag เปิดและปิด
ตัวอย่างนี้ใช้ประโยคคำสั่งแบบหนึ่ง
echo "<p>พูนพนา</p>";

คำสั่ง  echo  ตามตัวอย่างเป็นการพิมพ์ข้อมูลเมื่อส่งไปที่  browser  สามารถมองเห็นผลลัพธ์ของข้อความ  "พูนพนา"  ปรากฎใน  browser

ที่ ท้ายประโยคคำสั่ง echo มี semicolon( ; ) เครื่องหมายนี้ใช้แยกประโยคคำสั่งใน PHP  เหมือนกับจุด (.) ที่ใช้แยกประโยคในภาษาอังกฤษ  ถ้าเคยเขียนโปรแกรมด้วย  C หรือ  Java  จะมีความคุ้นเคยกับการใช้  semicolon

Whitespace

ตัว อักษรช่องว่าง  เช่น บรรทัดใหม่ (carriage returns),  space และ tab  รู้จักในชื่อ  whitespace  ตัวอักษรนี้ไม่ได้รับความสนใจจาก  PHP  และ  HTML ให้พิจารณา 2 คำสั่ง  HTML
<h1> พูนพนา ยินดีต้อนรับ </h1> <p> วันนี้ ท่านต้องการซื้อสินค้าอะไร? </p>

                และ
<h1> พูนพนา                          ยินดีต้อนรับ </h1>
<p>วันนี้ ท่านต้องการซื้อสินค้าอะไร? </p>

คำ สั่ง  HTML  2  ชุด  สร้างผลลัพธ์เหมือนกัน เพราะคำสั่งนี้ปรากฎใน  browser  อย่างไรก็ตามสามารถใช้  whitespace  ใน  HTML  เพื่อทำให้คำสั่ง  HTML  อ่านได้ง่าย  ถึงแม้ว่าไม่ต้องมี  whitespace  ระหว่างประโยคคำสั่ง  PHP  แต่ทำให้อ่านได้ ถ้าแยกแต่ละประโยคให้เป็นคนละบรรทัด  ตัวอย่างเช่น
echo "hello";
echo "world":

และ
echo "hello";  echo  "world";

คำสั่ง  2 ชุดให้ผลลัพธ์เหมือนกัน แต่ชุดแรกอ่านได้ง่ายกว่า

Comment

Comment ในคำสั่ง ทำหน้าที่เป็นหมายเหตุให้กับผู้อ่านคำสั่ง Comment สามารถใช้อธิบายวัตถุประสงค์ของสคริปต์ ทำไมถึงทำแบบนั้น การปรับปรุงครั้งสุดท้ายและอื่น ๆ

ตัวแปล  PHP จะไม่สนใจข้อความใน Comment โดยเฉพาะอย่างยิ่ง PHP parser ข้าม Comment ที่เทียบเท่ากับ whitespace

PHP สนับสนุน รูปแบบ Comment แบบ C, C++ และ Shell script

รูปแบบ  C เป็น Comment หลายบรรทัด
/*     Author: Chaiwat
Last Modified: 1 June 2005
This script processes the customer order.
*/

Comment หลายบรรทัด เริ่มต้นด้วย /* และปิดด้วย */ เหมือนภาษา C

Comment 1 บรรทัด สามารถใช้รูปแบบ C++
echo "<h1>พูนพนา</h1>"; // Start printing order

หรือ รูปแบบ  Shell script
echo "<h1>พูนพนา</h1>"; # Start printing order

เรียนรู้ php เบื้องต้น

entry นี้สำหรับผู้ต้องการเรียนรู้เกี่ยวกับ php เบื้องต้น
หากคุณเป็นคนหนึ่งที่ไม่เคยเขียนภาษาคอมมาก่อน ผมหวังว่าบทความนี้จะพอทำให้คุณรู้เรื่อง php ขึ้นมาอีกสักนิด
การที่คุณจะเรียนรู้ในการเขียนโค้ดด้วยภาษา php นั้น คุณควรมี Apache หรือโปรแกรมอื่น ที่จำลอง webserver ไว้บนเครื่องคอมพิวเตอร์ของคุณ และอีกโปรแกรมที่ควรใช้ให้เป็นคือ Dreamweaver หรือโปรแกรมเขียนโค้ดอื่นๆ เช่น notepad , editplus เป็นต้น สำหรับผู้เริ่มใช้อาจจะลองใช้ editplus ก่อนก็ได้ครับ เพราะตัวโปรแกรมไม่ยุ่งยากเท่า Dreamweaver
เรามารู้จัก php กันสักนิดนะครับ
php ย่อมาจาก PHP Hypertext Preprocessor เป็นอีกรูปแบบหนึ่งของภาษาสคริป ซึ่งทำให้เว็บเพจของคุณเกิดความ dynamic มากขึ้นกว่าการเขียนด้วย html ธรรมดา การโต้ตอบกับผู้ใช้งานได้ดีกว่า หากคุณเคยเขียนโค้ดมาบ้าง จะง่ายยิ่งขึ้นในการเรียนรู้ครับ 
ในการเขียน php นั้นจะมีรูปแบบดังนี้
<? 
คำสั่ง;
?> 
หากเขียนร่วมกับ xhtml ควรเขียนดังนี้
<?php คำสั่ง;
?>
==========================
เริ่มแรกในการเรียนรู้คือการลองจริง คุณควรลองเขียนโค้ดเล็กๆ ง่ายๆ ออกมาก่อน ตัวอย่าง
ผมต้องการแสดงคำว่า "Hello Thailand" ผมควรเขียนโค้ดอย่างไร
<?php echo "Hello Thailand";
?>
จะได้ดังรูปนี้ครับ
 
 
การเขียนคำสั่งให้พิมพ์คำออกมานั้นต้องใช้ echo ''; ช่วย ซึ่งเราจะเขียนด้วย " " หรือ ' ' ก็ได้ ด้านในคือประโยคที่ต้องการครับ เขียนร่วมกับ html ได้ เช่นคุณอยากจะให้ขึ้นบรรทัดใหม่ ดังตัวอย่าง
ผมต้องการแสดงคำว่า "Hello Thailand" ขึ้นบรรทัดใหม่ว่า "Sawadee" ควรเขียนโค้ดอย่างไร
<?php
echo "Hello Thailand <br> sawadee"; ?>
จะได้ดังรูปนี้ครับ 
 
 
จะใช้ br หรือ p ก็ได้ครับ 
 
ตัวอย่างการเขียนโค้ด php แบบแสดงค่าที่กำหนด
<?php
$test = 'test';
$test2 = 1;
echo $test.$test2; 
?> 
ค่าที่แสดงจะได้ดังรูปนี้
  
คำอธิบาย :
$test เป็นตัวแปรที่เรากำหนดมาโดยให้ชื่อว่า test การใส่ $ ข้างหน้าจะแสดงถึงตัวแปร $test2 ก็เช่นกัน เรากำหนดให้เป็นตัวประโยคโดยใช้ ' ' ครอบประโยคหรือข้อความตามต้องการ จะใช้ " " แทนก็ได้เช่นกัน
ส่วนค่าตัวเลข เราสามารถกำหนดโดยไม่ต้องใช้ฟันหนูครอบก็ได้
 
การเขียนโค้ด html ในคำสั่ง php มีวิธีการเขียนดังนี้
1. เขียนใน print ""; หรือ echo "";
2. ให้ระวังเรื่อง " " และ ' ' ให้ดีั ในกรณีดังต่อไปนี้
echo '<a href="http://rije.exteen.com">Rije\'s Blog</a>';
จะเห็นว่าในคำสั่ง html เราใช้ " " และของ php เราใช้ ' ' หากในโค้ด html เราจำเป็นต้องใช้ ' เช่น Rije's Blog หน้า ' เราต้องใส่ \ ข้างหน้า จะทำให้ระบบไม่อ่าน ' เป็นโค้ดไป อีกตัวอย่าง
echo "<a href=\"http://rije.exteen.com\">Rije's Blog</a>";
จะเห็นว่า php เราใช้ " " ครอบ และใน html เราก็ใช้ " " เช่นกัน แต่มี \ ข้างหน้า เนื่องจากคำสั่ง html นั้นอยู่ในค่ำสั่ง php อีกชั้น หากเราไม่ใส่ \ ข้างหน้า โค้ดจะตัดที่
echo "<a href="
อย่างนี้แทน ทำให้คำสั่ง html เราไม่สมบูรณ์ และโค้ด php ก็ขาด จะเกิด error ขึ้นได้
เพราะฉะนั้นในการเขียน html ใน php ต้องระมัดระวังเรื่อง ' ' และ " " ให้ดี
 
3. หากโค้ดมี html และ php รวมกัน ตัวอย่างเช่น เรากำหนดค่าตัวแปรใน php ชื่อ $test ขึ้นมา และต้องการให้แสดงระหว่างโค้ด html ต้องเขียนดังนี้
$test="Rije's Blog"; 
echo '<a href="http://rije.exteen.com">'.$test.'</a>';
 
จะเห็นว่าเราปิดคำสั่งด้วย ' ก่อนจากนั้น . และตามด้วยตัวแปร หากใส่โค้ดต่อก็ต้อง . แล้วเปิดคำสั่งด้วย ' เหมือนกันเสมอ 
ตัวอย่างที่แสดงจะเป็นดังภาพนี้
 
 
การเขียน if , else , elseif/else if
ในการเขียน php การใช้ if else นั้นเป็นเรื่องสำคัญ เพราะได้นำมาใช้จริงอย่างแน่นอนครับ ตัวอย่างการใช้ทั้ง 3 แบบ
1. if(คำสั่ง){ค่าที่แสดงตามคำสั่ง}
$test="test";
if($test=="test") echo "yes";
ในกรณีนี้ เรากำหนด $test จากนั้นใช้ if มาหาค่าว่า "ถ้าหากว่า $test มีค่าเป็น test จริงให้แสดง yes ออกมา" หากค่าไม่ใช่ test ก็จะหลุดจาก if และไม่แสดงค่าใดๆ ครับ
 
 
2. if(คำสั่ง){ค่าที่แสดงตามคำสั่ง} else{แสดงหากได้่ค่าอื่น}
$test="test";
if($test=="test2"){
echo "yes";

else {
echo "no";


จากโค้ดข้างต้นจะเห็นว่า เรากำหนดค่า $test ขึ้นมาให้มีค่า test ในคำสั่ง if else คือ "หากค่า $test มีค่าเท่ากับ test2 จริงๆ ให้แสดงค่า yes แต่หากไม่ใช่ให้แสดงค่า no" ดังนั้นค่าที่แสดงจึงเป็น no นั่นเองครับ
 
 
3. if(คำสั่ง1){แสดงค่าของคำสั่ง 1} else if(คำสั่ง2){แสดงค่าคำสั่ง 2} else{แสดงค่าอื่นนอกเหนือจากคำสั่ง}
ในกรณีนี้ เราต้องการคำนวณหรือเทียบค่าตามคำสั่งหลายชั้น หากค่าสั่งที่ 1 ไม่เป็นจริง ก็จะไปต่อคำสั่งที่ 2 หากไม่เป็นจริงจะหลุดจากลูป if ไปที่ else จบคำสั่ง ตัวอย่าง
$test = 4+4;
if($test==5){
echo "5";
}
else if($test=8){
echo "8";
}
else{
echo "wrong";
}
จาำโค้ดข้างต้นจะเห็นว่า เราได้กำหนดค่า $test เป็น 4+4 คำตอบที่ถูกต้องคือ 8 จะได้ว่า "หาก ค่า $test เป็น 5 ให้แสดงค่า 5 แต่ถ้า $test เป็น 8 ให้แสดงค่า 8 แต่หากค่า $test ไม่เป็นดังคำสั่งทั้งหมดก็จะแสดงคำว่า wrong ออกมา" ดังนั้นจากคำสั่งจึงแสดงค่า 8 ออกมาครับ
 
 
สัญลักษณ์ต่างๆ ที่ควรรู้
==  หมายความว่า  เท่ากับ
!=  หมายความว่า  ไม่เท่ากับ
<  หมายความว่า  น้อยกว่า
>  หมายความว่า  มากกว่า
<=  หมายความว่า น้อยกว่าหรือเท่ากับ
>=  หมายความว่า  มากกว่าหรือเท่ากับ
+=  หมายความว่า  ค่าที่มีอยู่ + ค่าหลัง =
$a=1;
$b=2;
$a+=$b;

ค่า $a ที่ได้จะเป็น 3 
-=  หมายความว่า  ค่าที่มีอยู่ - ค่าหลัง =
$a-=$b;
ค่า $a ที่ได้จะเป็น -1 
.=  หมายความว่า  เชื่อมคำกับค่าที่มีอยู่
$a = "you";
$a .= " & ";
$a .= "i";
$a จะได้ค่าเป็น "you & i" ครับ 
 
การส่งค่ารับค่า
ในการเขียนคำสั่งให้ส่งค่าและรับค่าใน php นั้นไม่ใช่เรื่ืองยากเลยครับ หากผมสร้างแบบฟอร์มขึ้น ให้กรอกค่าใดๆ ก็ได้ เมื่อกด submit ค่าที่เรากรอกก็จะไปแสดงในหน้าเดิมนั้น หรือจะให้แสดงในหน้าเพจใหม่ก็แล้วแต่ครับ หากเขียนให้แสดงในหน้าเดิม เราจะเขียนโค้ดแค่ไฟล์เดียว แต่หากแสดงหน้าอื่นเราต้องเขียน 2 ไฟล์ครับ ผมจะยกตัวอย่างส่งค่าในหน้าเพจเดิมครับ ซึ่งตัวอย่างผมเขียน html + php นะครับ
<?php
$show = $_POST['test']; 
if($show!=""){
echo $show;
}
echo '<form action="'.$PHP_SELF.'" method="post">
<input type="text" name="test"><br>
<input type="submit" name="submit" value="show"
</form>'; 
?>
จะได้ดังภาพนี้ครับ
  
เมื่อกรอกข้อมูลลงไปกด show จะเป็นดังภาพนี้ครับ
 
 
อธิบายยาวเหยียด :
จากโค้ดข้างต้นจะเห็นว่า ผมกำหนดค่า $test เป็น $_POST['test'] ในที่นี้ทำไมผมจึงใช้ $_POST[] นั่นก็เพราะว่า
ค่าจาก form เราส่งค่า method มาแบบ post และใน input ค่านั้นเราใช้ชื่อว่า test  หมายความว่า เราส่งค่า test ซึ่งเก็บค่าที่เรากรอกเอาไว้มาในรูปแบบ post ในการรับค่าจาก form นั้นเราต้องเขียนโค้ดรับค่าโดยใช้ $_POST[] รับค่าแบบ post มา หากส่งค่าแบบ get ก็จะใช้ $_GET[] ครับ
ผมส่งค่ากลับมาเพจเดิมใช้ action แบบนี้ครับ
action ="'.$PHP_SELF.'"
เป็นการส่งค่ากลับคืนเพจเดิม ผมใช้ '.คำสั่ง.' คั่นกลาง เพราะเป็นโค้ด php คั่นกลางระหว่าง html เราต้องปิด ' ที่เปิดไว้ตรง echo ' เสียก่อน การใส่ค่าตัวแปรต้องใช้ . ตามด้วยตัวแปรนั้นๆ หากไม่จบคำสั่ง echo ก็ใช้ .' เปิดเขียนโค้ดต่อ เมื่อจบจึงตามด้วย '; ครับ 
ผมกำหนดค่า $show ให้มารับค่าจา่ก $_POST['test'] เอาไว้ และนำไปคำนวณใน if
"ถ้าหากว่าค่า $show ไม่ใช่ค่าว่าง ให้แสดงค่า $show ออกมา"
และหากเป็นค่าว่างก็จะไม่แสดงค่า แต่จะขึ้น form มาให้กรอกครับ และแม้จะมีค่า $show ก็ยังมี form ให้กรอกเช่นกัน เพราะถัดจาก if ไม่มีค่าใดๆ มากำหนดว่า หากมีค่า $show แล้วต้องไม่แสดง form หากต้องการให้ไม่แสดง form เมื่อมีค่า $show เราต้องใช้ else มาเพิ่ม โดยนำ echo ที่ข้างในคำสั่งมีคำสั่ง form ไว้ข้างใน ดังตัวอย่างต่อไปนี้
else{
 
echo '<form action="page.php" method="post">
<input type="text" name="test"><br>
<input type="submit" name="submit" value="show"
</form>';
} 
เมื่อกรอกค่า ค่าที่แสดงจะเป็นดังภาพนี้ครับ

 
ไม่ยากเลยใช่ไหมครับ 
นี่เป็นพื้นฐานเบื้องต้นเท่านั้นครับ หากต้องการเรียนรู้เจาะลึกมากกว่านี้ ผมแนะนำให้ลองหาข้อมูลได้จากใน google หรือซื้อหนังสือสอนเขียน php มาศึกษาดูครับ หากมีปัญหาใดๆ ผมยินดีให้คำปรึกษาเสมอครับ ถามกันเข้ามาได้ ถ้าผมตอบได้ผมจะตอบให้นะครับ 
 
ps. ขอบคุณคุณ programmeur ที่ช่วยแก้คำผิดให้นะครับ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 
Design by I Love PHP