entry นี้สำหรับผู้ต้องการเรียนรู้เกี่ยวกับ php เบื้องต้น
หากคุณเป็นคนหนึ่งที่ไม่เคยเขียนภาษาคอมมาก่อน ผมหวังว่าบทความนี้จะพอทำให้คุณรู้เรื่อง php ขึ้นมาอีกสักนิด
การที่คุณจะเรียนรู้ในการเขียนโค้ดด้วยภาษา php นั้น คุณควรมี Apache หรือโปรแกรมอื่น ที่จำลอง webserver ไว้บนเครื่องคอมพิวเตอร์ของคุณ และอีกโปรแกรมที่ควรใช้ให้เป็นคือ Dreamweaver หรือโปรแกรมเขียนโค้ดอื่นๆ เช่น notepad , editplus เป็นต้น สำหรับผู้เริ่มใช้อาจจะลองใช้ editplus ก่อนก็ได้ครับ เพราะตัวโปรแกรมไม่ยุ่งยากเท่า Dreamweaver
เรามารู้จัก php กันสักนิดนะครับ
php ย่อมาจาก PHP Hypertext Preprocessor เป็นอีกรูปแบบหนึ่งของภาษาสคริป ซึ่งทำให้เว็บเพจของคุณเกิดความ dynamic มากขึ้นกว่าการเขียนด้วย html ธรรมดา การโต้ตอบกับผู้ใช้งานได้ดีกว่า หากคุณเคยเขียนโค้ดมาบ้าง จะง่ายยิ่งขึ้นในการเรียนรู้ครับ
ในการเขียน php นั้นจะมีรูปแบบดังนี้
<?
คำสั่ง;
?>
หากเขียนร่วมกับ xhtml ควรเขียนดังนี้
<?php
คำสั่ง;
?>
==========================
เริ่มแรกในการเรียนรู้คือการลองจริง คุณควรลองเขียนโค้ดเล็กๆ ง่ายๆ ออกมาก่อน ตัวอย่าง
ผมต้องการแสดงคำว่า "Hello Thailand" ผมควรเขียนโค้ดอย่างไร
<?php
$test = 'test';
$test2 = 1;
echo $test.$test2;
?>
จะได้ดังรูปนี้ครับ
การเขียนคำสั่งให้พิมพ์คำออกมานั้นต้องใช้ echo ''; ช่วย ซึ่งเราจะเขียนด้วย " " หรือ ' ' ก็ได้ ด้านในคือประโยคที่ต้องการครับ เขียนร่วมกับ html ได้ เช่นคุณอยากจะให้ขึ้นบรรทัดใหม่ ดังตัวอย่าง
ผมต้องการแสดงคำว่า "Hello Thailand" ขึ้นบรรทัดใหม่ว่า "Sawadee" ควรเขียนโค้ดอย่างไร
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 มาศึกษาดูครับ หากมีปัญหาใดๆ ผมยินดีให้คำปรึกษาเสมอครับ ถามกันเข้ามาได้ ถ้าผมตอบได้ผมจะตอบให้นะครับ
ขอบคุณเว็บ http://rije.exteen.com/20090221/php
ไม่มีความคิดเห็น:
แสดงความคิดเห็น