
ขณะนี้คุณกำลังอ่านข้อความจากเว็บเพจ :) ข้อความที่คุณกำลังอ่านอยู่ ไม่ว่าจะเป็น ตัวเข้ม หรือ ตัวเอียง แบบนี้ ล้วนเกิดมาจากการแปลความหมายของ HTML โดยเว็บบราวเซอร์ สำหรับท่านที่เขียนโฮมเพจเป็นและเข้าใจ HTML คงจะเข้าใจสิ่งที่เกิดขึ้นนี้ดีนะครับ
ตัวเข้มแบบนี้ เราก็ใช้แท็ก ตัวเข้ม ส่วนตัวเอียงก็ใช้แท็ก ตัวเอียง จะว่าไปแล้ว HTML ก็จึงเปรียบเสมือนเป็น presentation language ที่เป็นตัวสั่งให้บราวเซอร์แสดงผลตามคำสั่งของแท็กต่างๆ เพราะ HTML จริงๆ แล้วเป็นแค่ไฟล์ข้อความ ขอเพียงแค่คุณเข้าใจคำสั่งต่างๆ ของ HTML คุณสามารถที่จะเขียนเว็บเพจโดยใช้โปรแกรม text editor อะไรก็ได้ เช่น Notepad ใน windows vi หรือ pico ใน Unix
ถ้าคุณสงสัยว่าเว็บเพจแต่ละหน้าที่คุณอ่านมาจากคำสั่ง HTML อะไรบ้าง สำหรับ Internet Explorer คุณสามารถที่จะดูได้โดยการเลือกที่ view และ source แล้วคุณก็จะเห็นคำสั่ง HTML มากมายครับ
ในปัจจุบันมีโปรแกรมที่ช่วยอำนวยความสะดวกในการเขียนเว็บเพจ โดยที่คุณไม่ต้องเข้าไปยุ่งกับ HTML เลย เช่น Dreamweaver หรือ Namo editor โปรแกรมเหล่านี้จะช่วยให้คุณสร้างเว็บเพจได้สะดวกและรวดเร็วขึ้น แต่ถ้าคุณสนมีความสนใจและอยากที่จะศึกษา PHP แล้วละก็ คุณคงต้องมีความรู้พื้นฐานเกี่ยวกับ HTML ด้วยครับ
ภาษา HTML ไม่ใช่เรื่องยากเลยครับ คุณอาจจะเรียนรู้ด้วยตัวเองจากเว็บเพจของคนอื่นๆ โดยการศึกษาจาก source code นั่นแหละครับ ขอแค่เครื่องคอมพิวเตอร์ของคุณติดตั้งเว็บบราวเซอร์ไว้ คุณก็จะสามารถทดลองสร้างเว็บเพจแบบง่ายๆ ได้ที่เครื่องคอมพิวเตอร์ของคุณเอง
จะเห็นว่าการสร้างเว็บเพจไม่ใช่เรื่องยากอีกต่อไปครับ ใครๆ ก็ทำได้ เดี๋ยวนี้เว็บมาสเตอร์เองก็มีเกลื่อนบ้านเกลื่อนเมือง เด็กนักเรียนประถมก็สามารถสร้างเว็บของตัวเองได้ แถมทำได้สวยซะด้วย น่าชื่นชมครับ หรือแม้แต่คุณพ่อของผมซึ่งเกษียณอายุราชการแล้ว ก็มีงานอดิเรกในการทำเว็บเพจเหมือนกัน ลองดูฝีมือของคุณพ่อผมได้ที่ www.prd.go.th/prd1 สิครับ ไม่มีใครแก่เกินเรียนครับ :)
แล้ว HTML เกี่ยวกับ PHP ตรงไหนละครับ? ก็เกี่ยวตรงที่คุณกำลังจะการสร้างเว็บเพจไงครับ ยังไงๆ ก็ต้องมีคำสั่ง HTML ปรากฏอยู่ใน source code ของเว็บเพจ แล้ว PHP จะไปอยู่ตรงไหนหล่ะ? คำตอบก็คือ PHP สามารถที่จะไปแทรกอยู่ตรงไหนของ HTML ก็ได้ครับ
ก่อนที่จะอธิบายต่อไป ผมขอยกย่อหน้าหนึ่งใน PHP คืออะไร? มาให้คุณอ่านอีกครั้งครับ
"PHP เป็น Server-side scripting language คือในทุกๆ ครั้งก่อนที่เครื่องคอมพิวเตอร์ซึ่งให้บริการเป็น Web Server จะส่งหน้าเว็บเพจที่เขียนด้วย PHP ให้เรา มันจะทำการประมวลผลตามคำสั่งที่มีอยู่ให้เสร็จเสียก่อน แล้วจึงค่อยส่งผลลัพธ์ที่ได้ให้เรา ผลลัพธ์ที่ได้นั้นก็คือเว็บเพจที่เราเห็นนั่นเอง"
จากการที่ PHP เป็น Server-side scripting language ก็เลยทำให้คุณไม่เห็นคำสั่งของ PHP เมื่อคุณดู source code ของเว็บเพจในเว็บบราวเซอร์ เพราะคำสั่ง PHP ได้ถูกประมวลผลไปเรียบร้อยแล้วครับ
คำสั่งของ HTML จะอยู่ระหว่างเครื่องหมายน้อยกว่า(<) และเครื่องหมายมากกว่า(>) ซึ่งเราเรียกว่า HTML tag เช่น
และ
เป็นต้น ส่วนคำสั่งของ PHP นั้นก็จะอยู่ใน PHP tag ซึ่งมีรูปแบบต่างๆ กันได้ 4 แบบ คือ
Short style: <? ………………. ?>
XML style: <?php …………. ?>
Script style: <SCRIPT Language="php"> …….. </SCRIPT>
ASP style: <% …………….. %>
คุณสามารถที่จะใช้ PHP tag ในรูปแบบไหนก็ได้ แต่การเขียนแบบ Short style นั้นจะเป็นที่นิยมในหมู่นักพัฒนา PHP มากกว่ารูปแบบอื่นๆ ครับ ทั้งนี้การที่คุณจะใช้รูปแบบ Short style ได้นั้น คุณจะต้องตั้งค่าให้ PHP ยอมรับรูปแบบนี้โดยการตั้งค่าใน php.ini หรือในระหว่างการ compile PHP ให้ enable short tag ด้วย และการเขียนในรูปแบบ ASP style ก็ต้องมีการตั้งค่าให้สามารถใช้ในรูปแบบนี้ได้เช่นกันครับ
การนำเอา PHP tag ไปแทรกใน HTML tag นั้น คุณสามารถเอาไปแทรกที่ตำแหน่งไหนก็ได้ตั้งแต่ต้นไฟล์ไปจนถึงท้ายไฟล์ แต่ในบางทีอาจจะกลับกันนะครับ ถ้าส่วนใหญ่ที่นั้นเป็น PHP ก็จะกลายเป็นว่า HTML แทรกอยู่ใน PHP
ถ้าสังเกตอีกนิด คุณจะเห็นว่าเว็บเพจที่ใช้ PHP จะลงท้ายด้วย .php .php3 หรือ .phtml เช่น index.php เป็นต้น ทั้งนี้ก็เพื่อเป็นการบอกให้ Web server รู้ว่าไฟล์ที่มันจะต้องส่งให้เรานี้เป็น PHP ซึ่งมันจะต้องทำการประมวลผลตามคำสั่งของ PHP เสียก่อน แล้วจึงค่อยส่งไฟล์ที่ได้หลังจากการประมวลผลแล้วให้เรา สาเหตุที่ Web server รู้ว่าไฟล์ที่ลงท้ายด้วย .php นี้ เป็น PHP ก็เพราะ คำสั่ง AddType application/x-httpd-php .php ที่เราเพิ่มเข้าไปในไฟล์ httpd.conf ในวิธีการติดตั้ง PHP ไงครับ
ผมจะลองยกตัวอย่างการแทรก PHP เข้าไปใน HTML นะครับ สำหรับตัวเลขที่อยู่ข้างหน้า จะแสดงหมายเลขบรรทัดนะครับ และตัวอย่างที่ยกมานี้เป็นเพียงส่วนหนึ่งแค่นั้นครับ ถ้าหากยังไม่เข้าใจคำสั่งก็ไม่เป็นไรครับ (ในส่วนที่เป็น PHP จะแสดงด้วยสีเขียว)
ตัวอย่างที่ 1
1: <html>
2: <head>
3: <title>Test page</title>
4: </head>
5: <body>
6: <?
7: $today = date( "dS F Y h:i:s A" );
8: echo "Today is ".$today;
9: ?>
…
ตัวอย่างที่ 2
1: <table border="0" cellspacing="5" cellpadding="0">
2: <tr>
3: <td>ชื่อ :*</td><td><input type="text" size="25" name="input_postname" <?
4: if (isset($input_postname)) {
5: echo "value="$input_postname"";
6: } ?>></td>
7: </tr>
…
สำหรับตัวอย่างที่ 3 และตัวอย่างที่ 4 ต่อไปในจะให้ผลที่แตกต่างกันครับ
ตัวอย่างที่ 3
1: <?
2: session_start();
3: session_register("my_var");
4: ?>
…
ตัวอย่างที่ 4
1:
2:<?
3: session_start();
4: session_register("my_var");
5: ?>
…
ในตัวอย่างที่ 4 จะเว้นบรรทัดแรกไว้ ซึ่งผลที่ได้ก็คือเกิด error ขึ้น ซึ่งก็จะมีคำเตือนว่า "Warning: Cannot send session cache limiter - headers already sent …" ทั้งนี้เพราะบรรทัดแรกที่เว้นว่างไว้นั้นจะถูกส่งออกไปให้กับเว็บบราวเซอร์แสดงผล เพราะมันไม่ได้อยู่ใน PHP tag สาเหตุที่เกิด error นี้ขึ้นก็เพราะจากการใช้คำสั่ง session_start() เพราะคำสั่งนี้จะต้องไม่มีค่าอะไรส่งออกไปให้เว็บบราวเซอร์ก่อนมันถูกเรียกใช้งาน ซึ่งจริงๆ แล้วแม้กระทั่งคุณเคาะ space 1 ครั้ง แทรกเข้าไปข้างหน้า <? ในตัวอย่างที่ 3 เท่านี้ก็จะเกิด error แล้วครับ
สำหรับตัวอย่างที่ 5 และตัวอย่างที่ 6 ต่อไปในจะให้ผลที่เหมือนกันครับ
ตัวอย่างที่ 5
1: <?
2: session_start();
3: session_register("my_var");
4: ?>
…
ตัวอย่างที่ 6
1: <?
2:
3:
4: session_start();
5: session_register("my_var");
6: ?>
…
ตัวอย่างที่ 7 นี้เป็นงานใช้ if-else statement ในการเลือกแสดงผล HTML tag ตามเงื่อนไข
ตัวอย่างที่ 7
...
10: <? if ($today == "Wed") {
11: echo "<b><font color="red">Let''s go to see the movie!</font></b>";
12: } else {
13: echo "<b><font color="blue">I wanna stay at home tonight</font></b>";
14: } ?>
…
ตัวอย่างที่ 8 จะให้ผลเช่นเดียวกันกับตัวอย่างที่ 7 ครับ
ตัวอย่างที่ 8
...
10: <? if ($today == "Wed") { ?>
11: <b><font color="red">Let''s go to see the movie!</font></b>
12: <? } else { ?>
13: <b><font color="blue">I wanna stay at home tonight</font></b>
14: <? } ?>
…
จะเห็นว่าคุณสามารถที่เขียน PHP tag แทรกเข้าไปในรูปแบบต่างๆ และสามารถเขียนได้หลายรูปแบบ แต่ทั้งนี้ สิ่งที่อยู่ภายใน PHP tag นั้นจะต้องเป็นคำสั่งของ PHP และต้องไม่ลืม ?> สำหรับการปิด PHP tag ด้วยครับ