แนะนำการเขียน wap โดยไม่ต้องกำหนด ให้ file มีนามสกุล .wml และไม่ต้องทำการ config ค่าใดๆที่ webserver ขอเพียงให้ webserver ทำการ run php ได้ก็เพียงพอแล้วครับ โดยเราจะใช้เทคนิคในการเปลี่ยน Content-type จาก Content-type: text/html ไปเป็น Content-type: text/vnd.wap.wml อยากรู้ก็ตามเข้าไปดูกันเลย
หลายคนคงอยากจะเขียน wap เพื่อที่จะได้นำข้อมูลใน website ของตัวเองไป แสดงที่หน้าจอของมือถือ แต่อาจจะติดปัญหาตรงที่ Hosting ที่เช่าอยู่ ไม่รองรับให้มีการใช้งาน wap เพราะว่าการจะทำ wap site ขึ้นมานั้น web server จะต้อง รองรับให้มีการเรียกใช้งาน file ที่มีนามสกุล .wml ด้วย หลายคนที่คิดจะทำ wap site เพื่อเป็นทางเลือกในการเข้าถึงข้อมูลใน website ของตัวเองผ่านทางมือถือ ก็เลยอาจจะเลิกล้ม ความคิดที่จะทำนี้ไป
แต่เดี่ยวก่อน ในเมื่อ webserver ของเราไม่สนับสนุน file .wml เราก็หาทางออกวิธีอื่นก็ได้ วันนี้ผมจะมาแนะนำการเขียน wap โดยที่ไม่ต้องทำการ config ค่าใดๆ ที่ server เลย ขอเพียงให้ webserver ทำการ run PHP ได้ก็มากเพียงพอแล้วครับ
มาเริ่มที่หลักการกันก่อนนะครับ
ในการเปิดดู wapsite จากมือถือนั้น มือถือจะทำการส่งคำร้องขอไปที่ webserver เพื่อขอเปิดดูข้อมูลใน file .wml จากนั้น webserver ก็จะทำการส่งข้อมูล ของหน้าที่ต้องการนั้น กลับมาที่มือถือ โดยมี Content-type เป็นดังนี้
1 | Content-type = text/vnd.wap.wml |
ซึ่งเมื่อมือถือได้รับ Content-type เป็น text/vnd.wap.wml ก็จะสามารถใช้ browser ที่อยู่ในมือถือแสดงข้อมูล ที่ถูกส่งมาจาก server ในหน้าจอของมือถือได้ แต่โดยปกติแล้ว webserver ส่วนใหญ่ที่ไม่ได้ทำการ config อะไรเพิ่มเข้าไป จะส่ง Content-type ออกมาเป็น
1 | Content-type = text/html |
ซึ่งเจ้า Content-type นี้ browser ในตัวของมือถือจะไม่สามารถเปิดขึ้นมาได้
จากหลักการที่กล่าวมาเราจะเห็นแล้วว่า browser บนมือถือสามารถจะอ่านข้อมูลที่มี Conten-type ที่เป็น text/vnd.wap.wml ได้ เพียงอย่างเดี่ยวเท่านั้น เพราะถ้ามีการส่ง Content-type ที่เป็น text/html เข้ามาก็จะเกิด Error ขึ้น
เมื่อเราเข้าใจในหลักการทำงาน ขั้นพื้นฐานอันนี้แล้ว เราก็สามารถที่จะนำหลักการนี้มาใช้ได้ โดยเราจะเขียน wap ขึ้นมาโดยใช้ โปรแกรม PHP ธรรมดา แต่จะมีการเปลี่ยน Content-type ของข้อมูลเป็น text/vnd.wap.wml เพื่อให้มือถือสามารถเปิดได้
มาเริ่มดูวิธีการกันเลย
อย่างแรกคุณต้องมี browser ที่สามารถเปิดดู wap ได้ หรือว่าใครจะใช้มือถือในการทดสอบเลยก็ได้นะครับ ถ้าไม่ห่วงเรื่องค่าใช้จ่าย
โดยส่วนตัวผมเองก็ใช้ Firefox ในการทดสอบเหมือนเดิมครับ แต่ว่าต้องทำการลง Extension เพิ่มเติมนิดหน่อย นั้นก็คือ wmlbrowser extension ซึ่งเจ้า extension ตัวนี้จะช่วยทำให้ Firefox ของเราสามารถที่จะเปิดดู wapsite ได้
ในการติดตั้ง extension ให้ใช้ Firefox เข้าไปที่ URL นี้ครับ
https://addons.mozilla.org/extensions/moreinfo.php?id=62
จากนั้นก็คลิก Install มันซะ
เมื่อทำการติดตั้ง Extension เสร็จเรียบร้อยแล้ว เราก็พร้อมที่จะใช้ Firefox ในการเปิด wap ได้แล้วครับ
ให้ทดลองทำการเปิด wapsite ดูได้ที่ https://www.unzeen.com/example/wap/test.php
หากว่าได้ดังภาพก็แสดงว่าสามารถที่จะใช้งานได้แล้วครับ
ต่อไปก็มาเริ่มทำการเขียนโปรแกรมกันดูบ้าง
test.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php header("Content-type: text/vnd.wap.wml"); print "<?xml version=\"1.0\"?>\n"; ?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="HTML" title="UNZEEN WAP"> <p> Hello wap world!<br/> Test on www.unzeen.com<br/> </p> </card> </wml> |
จากตัวโปรแกรมจะเห็นว่ามีการกำหนด
1 | header("Content-type: text/vnd.wap.wml"); |
ไว้ในบรรทัดแรกของโปรแกรมเพื่อให้มีการเปลี่ยน Content-type เป็น text/vnd.wap.wml นั้นเองครับ
เมื่อ ทำการเขียนโปรแกรมเสร็จให้คุณทำการ upload ขึ้นไปที่ server ของคุณจากนั้นลองทำการใช้ Firefox เปิดขึ้นมา หากว่าได้หน้าตาเหมือนกับรูปที่ผ่านมา ก็แสดงว่าใช้ได้แล้วครับ จากนั้นคุณก็ลองใช้มือถือเข้าไปเปิดดูหน้า wap ที่เราสร้างขึ้นได้เลย
ที่ นี้ก็เป็นหน้าที่ของคุณแล้วละครับ ที่จะต้องไปศึกษา ดูว่าเจ้าคำสังของ wap นี้มันมีอะไร บ้าง ซึ่งผมก็คิดว่าไม่น่าจะยากเย็นอะไร เพราะว่าคำสังก็จะคล้ายๆกับ HTML ที่เราใช้ๆกันอยู่
เพิ่มเติม
คุณสามารถหาขอ้มูลคำสั่งของ wap ได้ที่ http://www.w3schools.com/wap/default.asp ลองๆไปศึกษาดูครับ คุณอาจจะนำมันมาใช้ทำอะไร ที่เป็นประโยชน์ กับคุณได้มากขึ้นก็ได้ อย่างเช่น ทำระบบการตรวจสอบข้อมูลของสมาชิกที่สมัครเข้ามาใหม่ใน website ของเรา เพื่อทำการกำหนด ระดับการใช้งานของเขาผ่านทาง wap เลยก็ได้ ตอนนี้ขอตัว wap ไปกินข้าวก่อนครับ