Creative Commons License

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 ที่ช่วยแก้คำผิดให้นะครับ

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

Related Links