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

Comment

Comment:

Tweet

ทำไมไม่ควรเขียน php อ่านได้ที่นี่ www.brinkstudio.com/howto/perl

#48 By เรย์ (125.24.76.243) on 2016-05-23 21:12

ขอบคุณมากค่ะ มีประโยชน์ จะให้คะแนนตรงใหนเอ่ยconfused smile

#47 By นกคอม (118.172.247.24|118.172.247.24) on 2014-12-10 19:31

Thanks for the article. I read the above post.

#46 By Chicgraphic on 2012-03-30 20:20

ขอบคุณมากค๊า...big smile big smile big smile

#45 By Ui (203.158.207.55) on 2011-07-28 06:46

เข้าใจยากกว่าjavaแฮะbig smile

#44 By java (223.206.209.129) on 2011-04-27 21:49

#43 By mark suerberge (180.183.168.131) on 2011-03-12 04:56

ตอนเรียนก็ทำได้อยู่ แต่ทิ้งไว้นานสนิมกินหมดแล้วครับ
ขอบคุณสำหรับความรู้ดีๆครับ
confused smile

#42 By (113.53.218.155) on 2010-08-25 17:41

#36 PHP ย่อมาจาก Personal Home Page ไม่ใช่หรอครับ....

#41 By student (222.123.214.71) on 2010-07-31 03:54

พอจะมีตัวอย่างสอนทำ flash script ให้ Link กับ PHP มั๊ยค๊ะ

#40 By gigi (124.121.130.59) on 2010-07-29 16:17

ขอความรู้ด้วยตรับ

#39 By สอน php (58.11.74.43) on 2010-04-25 21:11

ขอความรู้ด้วยตรับ

#38 By สอน php (58.11.74.43) on 2010-04-25 21:11

ขอบคุณคะ

#37 By ฺBownieS (124.157.150.149) on 2010-03-14 00:26

กลัวจะเข้าใจกันผิด
PHP ย่อมาจาก PHP: Hypertext Preprocessor ครับ คือรวมตัวมันเข้าไปด้วย
เรื่องนี้สำคัญนะครับ หลาย ๆ ที่ใช้เป็นข้อสอบในการรับเข้าทำงาน จำผิดชีวิตเปลี่ยน!

"PHP is a recursive acronym that stands for:
_ _ _
PHP: Hypertext Preprocessor

http://www.faqts.com/knowledge_base/view.phtml/aid/4848/fid/51"
big smile

#36 By programmeur on 2009-02-24 11:29

ไม่เคยเรียน php
แต่ก็กำลังนึกสนใจอยู่ ขอบคุณมากค่ะ big smile

#35 By ต้นปาล์ม on 2009-02-23 19:38

ลงเรื่อง Ajax ไวๆนะครับ อยากอ่านครับ
big smile big smile

#34 By บอมเบย์ on 2009-02-23 14:00

ว้าาาากกกก

พึ่งเรียนไปเทอมที่แล้ว

ยังหลอนอยู่ในหัว อิอิsad smile

#33 By interviewz on 2009-02-22 12:13

ริเจต้องไปเป็นอาจารย์สอนเรื่องการเขียนเว็บแล้วนะเนี่ย อิอิ confused smile

#32 By หนูพุก on 2009-02-22 11:18

php ช่วยอะไรกับเว็บได้บ้างคะ

#31 By :: Improvised Heart :: on 2009-02-22 10:54

มาถูกที่ถูกเวลาจริง ๆ ค่ะ
จะสอบ PHP พรุ่งนี้

ไว้อ่านทบทวนได้เลยนะเนี่ย

ขอบคุณนะคะbig smile
ได้ความรู้ๆ cry

#29 By QuarterQuartz on 2009-02-22 08:01

โอ้ว ได้ความรู้เพิ่มขึ้นเยอะ
แต่ก่อนเห็นก็ได้แค่ลองแก้มั่วๆ ไป sad smile

จะว่าไปคำสั่งก็ดูคล้ายๆ เวลาเขียน shell script เลย

#28 By tikyon on 2009-02-22 02:24

มารอตามเรื่อง Ajax ครับ confused smile

#27 By manop on 2009-02-22 01:42

open-mounthed smile

ถูกใจมากค่ะ Hot!

#26 By ดินสอทราย on 2009-02-22 01:16

กำลังต้องการพอดี ขอบคุณครับHot!

#25 By Griever on 2009-02-21 23:38

คงอีกหลายปีครับกว่าจะได้ PHP ขอใช้ HTML ชั้นอนุบาลไปก่อนครับ

อยากเรียน PHP เหมือนกัน

#24 By หนึ่ง on 2009-02-21 22:52

Hot! เอาไปเลยbig smile

#23 By Krai W. on 2009-02-21 22:49

อันเก่าเป็นรูปดอกกุหลาบค่ะ ที่เห็นในบล็อกตอนนี้อ่ะค่ะ

#22 By beautiful_sad on 2009-02-21 22:38

#18 ขอตอบหน่อยแล้วกันครับ เผื่อจะเข้าใจผิด

php เป็นภาษาที่มีไว้เพื่อโปรแกรมครับ คือให้มันตัดสินใจได้ แต่ส่วนแสดงผลก็ยังเป็นส่วน HTML เหมือนเดิมครับ ใช้แทนกันไม่ได้นะ

#21 By ch_a_m_p on 2009-02-21 22:10

หุหุ นึกถึงสมัยเรียน ชอบ php สุดแล้วครับconfused smile

#20 By ~* amoretto *~ on 2009-02-21 21:58

ทิ้งphpไปนานแล้วsad smile

ขอบคุณครับ ช่วยเตือนความจำได้เยอะเชียว

#19 By Doru-Kun™ on 2009-02-21 20:23

Hot! Hot!
ได้เรียน php มาบ้างเหมือนกันค่ะ

ง่าย + สั้นกว่า html
ง่ายมากเมื่อมีพื้นฐาน html ค่ะ
(จากประสปการณ์ของเราที่เรียน html ก่อน)big smile

#18 By namnampai on 2009-02-21 18:43

>______________________<b





Hot! Hot! Hot! Hot! Hot!

#17 By Chibi-Chan Desu on 2009-02-21 18:16

Hot! big smile

#16 By iQ180 on 2009-02-21 18:04

แจ่ม!
ปกติก็เขียน php อยู่แล้ว
เคยว่าจะเขียน php tutorial เหมือนกัน
แต่ไม่ว่างสักที ดีใจที่มีคนทำครับ Hot! Hot!

#15 By hackerlife on 2009-02-21 17:59

big smile

#14 By iDoi* on 2009-02-21 17:46

wink wink cry cry

#13 By ฟ้าใส on 2009-02-21 17:43

confused smile

#12 By xViStA on 2009-02-21 17:14

ว่าจะเรียนเรื่องดีพอดีเลย *0*

thx.จ้า Hot!

#11 By ใบบัว on 2009-02-21 16:41

เออ
มีเป็นชาติแล้ววะ แต่ไม่อัพมาตตั้งแต่ปี 2007
555+ คิดเอาเอง
ตอนนี้เกิดอารมณ์เปลี่ยวเลยมาทำเล่นอีกรอบ

#10 By ~KaPkApP~ on 2009-02-21 16:20

เข้าใจยากจัง พยายามเก่งๆครับHot!

#9 By eak48 on 2009-02-21 13:56

ดีมากๆเลย อยากรู้เรื่องเขียนด้วยภาษาอื่นด้วยอ่ะ

ว่างๆขอให้เอามาอีกนะ big smile

Hot! Hot!

#8 By ~m on 2009-02-21 13:35

ว้าว ขอบคุณคับ กะลังอยากหัดอยู่เลย

#7 By นายโยจิ^_^ on 2009-02-21 13:03

มึน sad smile

#6 By Jackie(Je45) on 2009-02-21 12:29

sad smile embarrassed

#5 By b-padung Studio on 2009-02-21 12:26

เอ่อ ! ดูมันเยอะจังเลยเนอะ ขอเป็นผู้ใช้ ไม่ใช่ผู้เขียนอย่างเดิมละกัน แต่มีประโยชน์มากค่ะ สำหรับผู้สนใจ confused smile
งงแง่ะ เหอะๆsad smile
Hot!

#3 By ไอ้ไทม์ on 2009-02-21 11:40

ได้โค้ดเยอะเลย

Hot! Hot! big smile

#2 By น้ามชา on 2009-02-21 11:27

ว๊าวว ขอบคุณมากค่ะ Hot!

#1 By YuN ♥ KathaN on 2009-02-21 11:01