HOME | TEAM
รายชื่อบท ตามหนังสือ
    ตอนที่ 3 ASP programming
    บทที่ 21 ความรู้เบื้องต้นเกี่ยวกับ ASP
    โครงสร้างของ ASP คล้ายกับภาษา Basic มาก ถ้าเขียน VB ได้ก็น่าจะเขียน ASP ได้เกือบทันที แต่ผมเองที่เป็นคนเขียน Access ยังต้องปรับตัวนิดหน่อยกับภาษานี้ แต่ไม่ใช่เรือ่งของ syntax แต่เป็นเรื่องของการนำไปใช้ เพราะรูปแบบภาษาเหมือนกันก็จริง แต่การเขียนด้วย VB หรือ Access นั้นต่างก็เน้นในเรื่องของฐานข้อมูล หรือการใช้ object มาทำงาน แบบ Interactive แต่ ASP จะต้องเขียนให้เกิด Interface ขึ้นที่ Browser ของ Client แล้วส่งคำสั่งให้ไปประมวลผล ที่ฝั่ง Server และจึงส่งผลกลับมาที่ฝั่ง Client อีกครั้ง ซึ่งเชื่อแน่ว่าผู้เริ่มต้นหลายคนต้องงง
    ในบทนี้จะเป็นการสร้างความคุ้นเคยในการใช้คำสั่ง ตามความคุ้นเคยแบบเดิม เช่นการทำซ้ำ การใช้ฟังก์ชันพื้นฐานที่มีให้ หรือการเปลี่ยนตัวเลขเป็นตัวอักษรเป็นต้น
    ต.ย. 21.1 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 21.2 function.asp (แสดงการทำงานของฟังก์ชันพื้นฐาน)
    ต.ย. 21.3 p01.asp (เขียนตัวเลข คล้ายปิรามิด แบบที่ 1)
    ต.ย. 21.4 p02.asp (เขียนตัวเลข คล้ายปิรามิด แบบที่ 2)
    ต.ย. 21.5 p03.asp (เขียนตัวเลข คล้ายปิรามิด แบบที่ 3)
    ต.ย. 21.6 p04.asp (เขียนตัวเลข คล้ายปิรามิด แบบที่ 4)
    ต.ย. 21.7 randomeasy.asp (สุ่มตัวเลขแบบซ้ำได้)
    ต.ย. 21.8 randomarray.asp (สุ่มตัวเลขแบบไม่ซ้ำ)
    ต.ย. 21.9 numtochar.asp (เปลี่ยนตัวเลขเป็นตัวอักษร)

    บทที่ 22 การจัดเรียงข้อมูล
    จากความเข้าใจที่ทุกภาษาเหมือนกัน การจัดเรียงที่ programmer หลายท่านคุ้นเคย หรือน้อง ๆ ที่กำลังเรียนเขียนโปรแกรมอยู่ มีหลักการที่เป็นนิรันดร์อยู่หลายวิธี ซึ่งวิธีที่ต้องยกนิ้วให้ว่าเข้าใจง่ายคือ bubble sort หลายท่านอาจต้องการ source code ของโปรแกรมเหล่านี้ ผู้เขียนจึงได้นำมาเสนอในรูปของภาษา ASP
    โปรแกรมทั้ง 5 โปรแกรม จะเขียนด้วยภาษาอะไรก็มี algorithm ที่คล้ายกัน ต้นแบบที่ผู้เขียนใช้คือภาษา Pascal และนำมาเปลี่ยนเป็น ASP หรือผู้อ่านจะลองนำไปเปลี่ยนเป็น PERL หรือ PHP ก็คิดว่าใช้เวลาไม่เกิน 1 ชั่วโมง ถ้าไม่พิมพ์อะไรผิดพลาด หรือสับสนในเรื่อง Syntax ของภาษา
    ต.ย. 22.1 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 22.2 bubble.asp (จัดเรียงข้อมูลแบบ bubble)
    ต.ย. 22.3 newbubble.asp (จัดเรียงข้อมูลแบบ newbubble)
    ต.ย. 22.4 insertion.asp (จัดเรียงข้อมูลแบบ insertion)
    ต.ย. 22.5 selection.asp (จัดเรียงข้อมูลแบบ selection)
    ต.ย. 22.6 shell.asp (จัดเรียงข้อมูลแบบ shell)

    บทที่ 23 การจัดการกับตัวแปร Session
    ตัวแปรที่ฝั่ง client สามารถเก็บไว้นั้น ในภาษาอื่นจะเรียกว่า cookie แต่สำหรับ asp แล้วมีด้วยกัน 2 แบบคือ application และ session ซึ่งมีระดับ การทำงานที่แตกต่างกัน ผู้อ่านสามารถประยุกต์ใช้ได้มากมาย เช่นการทำ shopping cart หรือการจัดเก็บรหัสผ่านเพื่อยืนยัน ดังที่ใช้ในบทที่ 27 หรือจะทำระบบการจดจำหน้าแรกแบบ PERL ในบทที่ 11 หรือจะนำไปประยุกต์ใช้ในบทที่ 29 สำหรับตรวจสอบบัตรเครดิต เพื่อทำระบบ Shopping cart ให้สมบูรณ์ขึ้นก็ได้
    ต.ย. 23.1 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 23.2 addapplication.asp (ปรับปรุงข้อมูลระดับ application)
    ต.ย. 23.3 addsession.asp (ปรับปรุงข้อมูลระดับ session)
    ต.ย. 23.4 removeappl.asp (เลือกลบข้อมูล 2 แบบ)
    ต.ย. 23.5 addsubj.asp (เพิ่มข้อมูลระดับ application)

    บทที่ 24 บริการสืบค้นและบริหารข้อมูลแฟ้ม Text
    การประมวลผล Text file จะเป็นความสามารถที่มีในเกือบทุกภาษา สำหรับภาษา PERL จะกล่าวถึงใน บทที่ 3 หรือภาษา PHP ในบทที่ 14 ในทั้ง 2 บทดังกล่าว ต่างก็สามารถจัดการกับ text file ได้ ภาษา ASP นี้ก็ทำได้เช่นกัน และฟังก์ชันหลายอย่าง อาจใช้งานได้มีประสิทธิภาพกว่า จึงได้ยกกรณีศึกษา เป็นเรื่องบริการสืบค้น เพื่อให้เห็นหน้าที่ได้อย่างชัดเจน
    ต.ย. 24.1 search.dat (แฟ้มเก็บข้อมูลแบบ text)
    ต.ย. 24.2 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 24.3 crtsearch.asp (สร้างแฟ้มข้อมูลทับของเดิม)
    ต.ย. 24.4 listsearch.asp (แสดงข้อมูลได้ 3 แบบ)
    ต.ย. 24.5 find.asp (สืบค้นข้อมูล 2 แบบ)
    ต.ย. 24.6 delrec.asp (ลบข้อมูลเลือกตามเลขบรรทัด)
    ต.ย. 24.7 restore.asp (เรียกข้อมูลคืน 2 แบบ)

    บทที่ 25 การจัดการแฟ้มข้อมูลด้วย SQL
    ในบทนี้จะนำเสนอพื้นฐานการประมวลผลด้วย SQL เพื่อให้เห็นการทำงานที่ง่าย ในการจัดการข้อมูล ด้วยเทคนิค SQL ผู้อ่านสามารถประยุกต์ไปใช้กับ Mysql ใน PHP เพราะมีรูปแบบของภาษาที่คล้ายกัน โปรแกรมในบทนี้ไม่ได้นำเสนอกรณีศึกษา เรื่องใดเรื่องหนึ่ง แต่จะแสดงให้เห็นหลักการพื้นฐานของ การจัดการข้อมูล เช่น การสร้างตาราง ลบตาราง เพิ่ม ลบ แก้ไข หรือการนำข้อมูลมาแสดงว่ามีกระบวนการทำงานอย่างไร สำหรับการใช้ SQL ทำงานด้วยภาษา PHP สามารถศึกษาได้จากบทที่ 15
    ต.ย. 25.1 tempdb.mdb (แฟ้มเก็บข้อมูลสำหรับทดสอบ)
    ต.ย. 25.2 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 25.3 crttab.asp (สร้างตาราง พร้อมข้อมูลทดสอบ)
    ต.ย. 25.4 selecttab.asp (แสดงข้อมูล)
    ต.ย. 25.5 inserttmpch.asp (เพิ่ม 1 ระเบียนต่อท้าย)
    ต.ย. 25.6 insert6.asp (เพิ่ม 6 ระเบียน)
    ต.ย. 25.7 searchtmpch.asp (เลือกข้อมูลด้วย where)
    ต.ย. 25.8 edittmpnum.asp (ปรับปรุงข้อมูลเลือกตามเขตข้อมูลตัวอักษร)
    ต.ย. 25.9 controlrec.asp (แสดงข้อมูลแบบเลื่อนระเบียน)
    ต.ย. 25.10 deltmpch.asp (ลบระเบียนเลือกตามเขตข้อมูลตัวอักษร)
    ต.ย. 25.11 droptab.asp (ลบตารางข้อมูล)

    บทที่ 26 ข้อสอบ Online
    ข้อสอบหลายแบบที่อยู่ใน internet ล้วนส่งเสริมให้ ทุกท่านได้เรียนรู้ และได้รับความตื่นตา กว่าการทำข้อสอบในกระดาษ บางเว็บถึงกับมีรางวัลให้ ถ้าตอบถูกมาก หรือเข้าไปทำข้อสอบบ่อย หน้าตาของข้อสอบในแต่ละเว็บก็แตกต่างกันไป ตามผู้ออกแบบ
    สำหรับข้อสอบ Online ในบทนี้จะเป็นการอ่านข้อมูลจาก MDB ของ Microsoft Access บางท่านอาจนำข้อสอบที่เคยพิมพ์ใน DBF แปลงลง MDB แล้วนำมาใช้ เช่นผมเป็นต้น ในบทนี้ได้แสดงการเขียนข้อสอบไว้ 2 แบบคือแบบตรวจเมื่อส่งข้อสอบ และแบบตรวจทีละข้อ ทันทีที่เลือกคำตอบ ซึ่งมีตัวอย่างการเขียนข้อสอบเพิ่มเติม ด้วยภาษา PERL ในบทที่ 5
    แนวคิดการทำข้อสอบ Online นั้นมีหลายหลาย ผมเองเคยเขียนโปรแกรมข้อสอบ ตั้งแต่ Internet ยังไม่แพร่หลายในไทยมากนัก แต่เขียนด้วย GWbasic เพื่อศึกษาความสามารถของภาษา ในขณะเป็นนักศึกษา ปัจจุบันได้สร้างข้อสอบ Online ให้ผู้ใช้ได้ทดสอบตัวเองหลายแบบ และที่คิดจะทำก็อีกหลายแบบ และเชื่อแน่ว่า ถ้าท่านคิดจะสร้างข้อสอบ Online ก็จะเป็นแบบเฉพาะของท่าน เพราะข้อสอบแต่ละแบบ จะมีการนำเสนอในจุดเด่นที่แตกต่างกันไป แต่เป้าหมายของข้อสอบ Online ที่เด่นชัดที่สุดก็คือ ส่งเสริมให้ผู้ทำมีความรู้ และชำนาญมากขึ้น
    การสร้างโปรแกรมให้บริการข้อสอบเป็นเรื่องสำคัญ แต่ไม่ใช่เรื่องใหญ่ เพราะการหาเนื้อข้อสอบ มาสร้างเป็นฐานข้อมูล เป็นเรื่องที่ต้องใช้เวลา รวบรวม เรียบเรียง ซึ่งไม่ขอแนะนำให้คัดลอก จากหนังสือมาทั้งหมด เพราะไม่แน่ว่าสักวันอาจจะมีคนมาทวงค่าลิขสิทธิ์จากท่านก็ได้ เรื่องใหญ่ ของข้อสอบ Online คือการสร้างข้อสอบขึ้นมาเองต่างหาก เพราะโปรแกรมข้อสอบอาจใช้เวลาเขียนสัก 1 ถึง 2 วัน แต่เนื้อข้อสอบอาจใช้เวลาเป็นเดือน กว่าจะสร้างฐานข้อมูล เพื่อเปิดให้บริการได้
    ต.ย. 26.1 quiz.mdb (แฟ้มเก็บข้อมูลข้อสอบ)
    ต.ย. 26.2 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 26.3 displayq.asp (แสดงคำถาม คำตอบอย่างง่าย)
    ต.ย. 26.4 displayqz.asp (แสดงคำถามในตารางสลับสี)
    ต.ย. 26.5 quizauto.asp (ตรวจคำตอบอัตโนมัติ)
    ต.ย. 26.6 quizjv.asp (ตรวจคำตอบทันทีด้วย Java script)

    บทที่ 27 การส่ง mail เพื่อยืนยันสมาชิก
    บ่อยครั้ง ที่ผู้พัฒนาเว็บ ต้องการตรวจสอบความมีตัวตนของสมาชิก วิธีที่นิยมใช้กัน คือการยืนยันตัวตนด้วย e-mail ผู้พัฒนาเพียงแต่ทำเว็บขึ้นมาหน้าหนึ่ง ให้สมาชิก กรอก e-mail และกดปุ่มส่งรหัส ระบบจะส่งรหัสผ่าน หรือรหัสยืนยันไปให้ผู้สมัครทาง e-mail
    ถ้าผู้สมัครเป็นเจ้าของ e-mail และต้องการยืนยันบริการดังกล่าวจริง ให้กลับมาตามเว็บที่ระบุ ไว้ใน e-mail แล้วนำรหัสดังกล่าวกลับมากรอก เพียงเท่านี้ ก็จะได้สมาชิกที่มี e-mail ที่สามารถยืนยันความมีตัวตนได้ในระดับหนึ่ง
    ตัวอย่างสุดท้ายในบทนี้คือ โปรแกรมที่ช่วยทำให้เว็บ มีบริการส่ง e-mail ที่สามารถเลือก SMTP server ที่ทำหน้าที่เป็นบุรุษไปรษณีย์ นำจดหมายของท่านไปส่งให้ถึงปลายทาง ถ้าเขียนด้วย PHP จะมีอยู่บทที่ 18 หรือด้วย PERL จะอยู่ในบทที่ 10 ซึ่งแตกต่างกันไป ตามรูปแบบของภาษา แต่ผลที่ได้คือส่ง e-mail ได้เหมือนกัน
    ต.ย. 27.1 default.asp (สร้างรหัสพร้อมส่ง mail)
    ต.ย. 27.2 checkpass.asp (ตรวจสอบความถูกต้องของรหัส)
    ต.ย. 27.3 sendmail.asp (บริการส่ง mail แบบเลือก SMTP)

    บทที่ 28 การตรวจสอบบัตรเครดิต
    โปรแกรมชุดนี้มีคม 2 ด้าน เพราะผู้ที่ทำเว็บ e-commerce อาจต้องการลูกค้า ที่มีฐานะ มีความสามารถที่จะชำระเงินด้วยบัตรเครดิต แต่ไม่ต้องการไปติดต่อกับธนาคาร หรือเช่า host ที่ให้บริการนี้ โปรแกรมในบทนี้จะรับประเภทบัตร และเลขบัตร ไปตรวจสอบในเบื้องต้น เพื่อยืนยันว่าลูกค้าส่งข้อมูลที่มีความถูกต้องระดับหนึ่ง
    โปรแกรมตรวจสอบบัตรเครดิต จะเสริมให้การเขียนเว็บ e-commerce ในบทที่ 10, 18 และ 23 มีความสมบูรณ์มากขึ้น โดยเฉพาะการตรวจสอบความน่าเชื่อถือของลูกค้า และเป็นอีกทางเลือก ในการรับชำระเงินทาง internet ในปัจจุบันมีการรับชำระเงินอยู่หลายทาง แต่ทุกทางจะต้อง มีการจ่ายที่ค่อนข้างสูง บางท่านอาจมีความคิดว่าต้องการจับเสือมือเปล่า แบบไม่ต้องลงทุนอะไร เป็นเสมือนการศึกษาความเป็นไปได้ของตลาด หากทดลองแล้วมีแนวโน้มที่ดี การก้าวไปสู่การลงทุน อย่างจริงจังก็ไม่สายเกินไป แต่ถ้าเริ่มต้นด้วยการลงทุนเต็มรูปแบบ โอกาสสำเร็จในเวลาอันสั้น ก็สูงตามไป และนั่นก็หมายถึงความเสี่ยงที่ต้องมีในทุกธุรกิจ ไม่เว้นแม้แต่ e-commerce มีผู้คนมากมายที่เลือกลงทุนด้วยเงินก้อนโต เพราะคาดว่าจะประสบความสำเร็จใน e-commerce แต่มีตัวอย่างให้เห็นเพียงไม่กี่รายเท่านั้น ที่ทำรายได้เป็นกอบเป็นกำ ถ้าท่านเป็นผู้หนึ่ง ที่คิดจะลงทุน ลองศึกษาความพร้อมของตนเองในทุกด้าน มิเช่นนั้น ท่านอาจเป็นอีกผู้หนึ่งที่เสียใจ
    ถ้าท่านนำตัวอย่างนี้ไปใช้ แล้วได้เลขบัตรเครดิตมาจริง ถึงแม้จะได้ทั้งเลขบัตร และวันหมดอายุของบัตรมา ก็อาจนำไปขึ้นเงินกับธนาคารไม่ได้ ถ้าคิดจะรับข้อมูลบัตรเครดิตจริง จะต้องติดต่อธนาคาร เพื่อขออนุมัติ ซึ่งมีเงื่อนไขหลายอย่างที่คนธรรมดาอาจไม่มีสิทธิ์ ทำความเข้าใจในขั้นตอน และเงื่อนไขทั้งหมดก่อน มิเช่นนั้นท่านอาจเสียโอกาสที่ดี เพียงเพราะไม่เข้าใจในขั้นตอน และกฎที่ธนาคารตั้งขึ้นก็ได้ หากท่านมีปัญหามาก ก็มีเว็บให้บริการ e-commerce มากมายในไทย ที่มีความพร้อมที่จะเปิดร้านให้กับท่าน เพียงแต่ท่านจ่าย ก็จะเปิดร้านที่สมบูรณ์ได้ในเวลาอันสั้น
    ต.ย. 28.1 default.asp (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 28.2 ccard.inc (ฟังก์ชันตรวจสอบรหัสบัตร)

    บทที่ 29 กรณีศึกษาระบบทะเบียน
    ระบบทะเบียนได้เขียนไว้ในบทที่ 7 แต่เขียนด้วย PERL ในบทนี้เขียนด้วย ASP ซึ่งเขียนในลักษณะที่แตกต่างกัน เพราะในบทนี้จะใช้ SQL เพื่อเรียกข้อมูล และปรับปรุง โดยใช้คำสั่งที่กระชับกว่ากันมาก
    โปรแกรมจะถูกเขียนขึ้นให้ใช้งานได้หลากหลาย และมีหลายตัวเลือกในโปรแกรมเดียว ทำให้ยืดหยุ่น แต่ตัวโปรแกรมจะมีความซับซ้อน สำหรับโครงสร้างแฟ้มในบทนี้จะใช้แฟ้มตัวอย่างเพียง 4 ตาราง จากที่เตรียมไว้เกือบทั้งระบบ
    ในส่วนของโปรแกรมลงทะเบียน จะไม่ได้ตรวจสอบอะไรมาก เพราะการตรวจสอบ จะขึ้นอยู่กับความต้องการ ของแต่ละสถาบัน ว่าต้องการตรวจสอบอะไร โปรแกรมเหล่านี้มีหลักการที่คล้ายกันในการตรวจสอบ คือการอ่านข้อมูลจากแฟ้มหนึ่งมาตรวจสอบกับค่าที่รับเข้ามา หรือการเชื่อมแฟ้ม แล้วนำข้อมูล ที่ได้ไปตรวจสอบให้ตรงตามเงื่อนไข เป็นต้น สิ่งที่สำคัญ ที่จะเขียนโปรแกรมให้สำเร็จคือการศึกษาความต้องการให้เข้าใจ แล้วจึงนำหลักการในหลายตัวอย่าง มาประยุกต์ใช้ ให้ตรงกับความต้องการ จึงจะทำให้ท่านได้โปรแกรมที่ต้องการ และนำไปใช้งานได้
    หลายท่านอาจคาดหวังว่ากรณีศึกษาระบบทะเบียน ในบทนี้ จะเขียนให้สามารถนำไปใช้งานได้ ตอนแรกผู้เขียนก็มีแผนอย่างนั้น แต่เมื่อเขียนได้สักพัก จึงเห็นว่า source code มีความคล้ายกัน การตรวจสอบแต่ละอย่าง เพียงแต่เปลี่ยนชื่อแฟ้ม เปลี่ยนเงื่อนไขเท่านั้น แต่เงื่อนไขของแต่ละสถาบันต่างหาก ที่มีความซับซ้อน ประเด็นจึงไม่ได้อยู่ที่จะเขียนอย่างไร แต่อยู่ที่จะเขียนอะไร ให้มีเงื่อนไขอย่างไรต่างหาก ซึ่งนั่นเป็นงานของนักวิเคราะห์ระบบที่ต้องวางแผน สำหรับงานพัฒนาระบบ แล้วสั่งให้ programmer ทำโปรแกรมที่นักวิเคราะห์ระบบ ได้ไปศึกษามาจากผู้ใช้
    ต.ย. 29.1 casereg.mdb (แฟ้มเก็บข้อมูลทะเบียน)
    ต.ย. 29.2 default.htm (ฟอร์มสั่งงานเริ่มต้น)
    ต.ย. 29.3 listpage.asp (แสดงข้อมูลแบบเลื่อนหน้า)
    ต.ย. 29.4 groupadv.asp (แสดงข้อมูลแบบเชื่อมหลายแฟ้ม)
    ต.ย. 29.5 regist.asp (เพิ่ม-บอกเลิกวิชาอย่างง่าย)