การแสดงผล รายวชิ า การโปรแกรมเวบ็ เบือ้ งตน จดั ทาํ โดย นางสาววริ ยา สีขาว 101 การแสดงผล Semantics เทคโนโลยกี ลุ่ม Semantics คือตวั syntax ของภาษา HTML5 ทีแนน่ อนวา่ เปลยี นไป จาก HTML4 ซงึ มแี ทก็ ใหมๆ่ และคณุ สมบัติ (atrribute) ใหมๆ่ เพิมขึน HTML <section> Element คือ การแบง่ กลมุ่ เนือหาออกเปนส่วนๆ เช่น การแบง่ บทความออกเปน chapter หรือแบ่ง เนอื หาทังหมดออกเปนประเดน็ ยอ่ ยๆ อย่างการแบง่ ข่าวออกเปน กลมุ่ ของขา่ วในพระราชสาํ นกั กลมุ่ ของขา่ วกีฬา กลมุ่ ของขา่ วบันเทงิ เปนตน้ โดยทัวไปเรามักจะใช้ Section ภายใน Article และเนือหาภายใน section จะตอ้ งเกยี วข้องกนั ทงั หมดปกติแล้วหน้าแรกสามารถแบ่งออกเปน สว่ นตา่ ง ๆ เพือแนะนาํ เนอื หาและข้อมลู การตดิ ตอ่
ตวั อยา่ งการเขยี น รายวิชา การโปรแกรมเว็บเบ้ืองตน จัดทําโดย นางสาววริ ยา สขี าว 102 การแสดงผล HTML <article> Element <article> กําหนดขอบเขตของตัวเนอื หาทีมอี ยใู่ นตวั เอง และเปนสว่ นแยกจากสว่ นทีเหลือของ เว็บไซต์ ตัวอยา่ งการเขยี น การแสดงผล
รายวิชา การโปรแกรมเว็บเบื้องตน จดั ทาํ โดย นางสาววิรยา สขี าว HTML <header> Element Tag <header> ระบสุ ่วนหวั ของเอกสารหรอื สว่ นทีแยกไว้ ควรใช้ <header> เปนทีเกบ็ สาํ หรบั 103 เนอื หาเบืองตน้ ตัวอย่างที 2 การแสดงผล การแสดงผล
รายวชิ า การโปรแกรมเว็บเบ้ืองตน จัดทําโดย นางสาววริ ยา สขี าว HTML <footer> Element 104 tag <footer> เปนแทก็ ทีใชส้ ําหรบั ใส่อะไรก็ได้ทีอยดู่ า้ นล่างๆ ส่วนท้ายประกอบดว้ ยผเู้ ขียน เอกสารข้อมูลลขิ สิทธิลิงก์ไปยังข้อกําหนดการใชง้ านข้อมลู การตดิ ต่อ ฯลฯ ตวั อย่างการเขียน การแสดงผล . HTML <nav> Element tag <nav> คอื การกาํ หนดคา่ ของ Link การนาํ ทาง นาํ ทาง nav ไมจ่ าํ เปนต้อง ใส่อันต่ออนั สามารถใส่ครอบคลุมทีเดยี วหลายๆอันไดเ้ ลย ลิงก์ทงั หมดของเอกสารไมค่ วรอย่ใู น <nav> tag <nav> นันมไี วส้ าํ หรบั บลอ็ กลิงกก์ ารนาํ ทางทสี าํ คญั เท่านัน หรอื เมนหู ลกั ของเว็บนนั ๆ ตัวอยา่ งการเขยี น การแสดงผล
รายวชิ า การโปรแกรมเวบ็ เบื้องตน จดั ทาํ โดย นางสาววริ ยา สขี าว HTML <aside> Element 105 <aside> สว่ นของเนือหาทีเกียวของกับเนอื หาหลกั ทีอย่โู ดยรอบ โดยมจี ดุ ประสงค์เพือใหแ้ ยก ออกจากเนอื หาหลักและใชเ้ ปนกรอบคาํ อธิบายเพิมเติมทีเกียวขอ้ งกบั เนอื หาหลกั และนอกจากนี <aside> ยงั สามารถใชเ้ ปนสว่ นของ แถบด้านขา้ ง (Sidebar) ไดอ้ กี ดว้ ย การแสดงผล HTML <figure> and <figcaption> Elements tag <figure> เปนการกําหนดรูปภาพและ คําอธบิ ายภาพ สามารถจดั กลุ่มเข้าดว้ ยกันใน tag <figure> วตั ถปุ ระสงคข์ องคาํ บรรยายภาพ คือการเพิมคาํ อธิบายภาพให้กบั ภาพ tag <img> กําหนดภาพ tag <figcaption> กาํ หนด คาํ อธบิ ายภาพ ตัวอยา่ งการเขียน การแสดงผล
รายวิชา การโปรแกรมเวบ็ เบื้องตน จัดทาํ โดย นางสาววิรยา สขี าว Semantic Elements in HTML 106 คาํ อธิบายแท็ก <article> กาํ หนดบทความ <aside> กาํ หนดเนอื หานอกเหนอื จากเนือหาของหนา้ < details > กําหนดรายละเอยี ดเพิมเตมิ ทีผู้ใชส้ ามารถดหู รือซอ่ น <figcaption> กําหนดคาํ อธิบายภาพสาํ หรบั องค์ประกอบ <figure> <figure> ระบุเนอื หาทีมอี ยใู่ นตัวเองเชน่ ภาพประกอบ, ไดอะแกรม, รูปถา่ ย,รายชอื รหัส ฯลฯ <footer> กําหนดส่วนทา้ ยของเอกสารหรือส่วน <header> ระบสุ ว่ นหวั ของเอกสารหรือส่วน < main > ระบุเนือหาหลักของเอกสาร <mark> กําหนดข้อความทีทาํ เครอื งหมาย / เนน้ <nav> กาํ หนดลิงก์การนําทาง <section> กาํ หนดสว่ นในเอกสาร <summary> กําหนดหวั เรืองทีมองเหน็ ไดส้ าํ หรับองค์ประกอบ <details> <time> กําหนดวนั ที / เวลา
รายวชิ า การโปรแกรมเว็บเบ้ืองตน จดั ทําโดย นางสาววริ ยา สขี าว 107 The <form> Element ฟอรม์ HTML ใชเ้ พือรวบรวมข้อมูลนาํ เขา้ ของผู้ใช้ จากนนั ผใู้ ช้สามารถส่งไปยงั เซิร์ฟเวอร์สาํ หรบั การประมวลผล Tag <form> กําหนดรปู แบบทใี ช้ในการรวบรวมอนิ พุ ตของ ผใู้ ช:้ <form> form elements </form> รูปแบบการกาํ หนดคุณสมบัติใหแ้ ท็ก < form> < form name=\"ชอื ฟอร์ม\" method=\"วธิ ีส่งขอ้ มลู \" action=\"ชอื ไฟล์สคริปตท์ ีจะเรยี กขนึ มาใช้ งาน“> The <input> Element tag <input> เปนองค์ประกอบของฟอรม์ ทีสําคญั ทสี ดุ <input> จะมหี ลายวิธีขนึ อยูก่ ับแอ ตทรบิ ิวต์ type Type Description <input type=\"text\"> กําหนดข้อความนาํ เขา้ แบบบรรทัดเดียว <input type=\"radio\"> กาํ หนดปุมตัวเลอื กแบบหลายตัวเลอื ก แต่การเลือกจะเลอื กได้ เพี ยง 1 ข้อ <input type=\"submit\"> กําหนดปมุ ในการยืนยนั การส่งข้อมูล HTML Input Types ชนิดของการนําเขา้ ข้อมลู <input type=\"button\"> <input type=\"checkbox\"> <input type=\"color\"> <input type=\"date\"> <input type=\"datetime-local\"> <input type=\"email\"> <input type=\"file\"> <input type=\"hidden\"> <input type=\"image\"> <input type=\"month\"> <input type=\"number\"> <input type=\"radio\">
รายวชิ า การโปรแกรมเว็บเบือ้ งตน จดั ทําโดย นางสาววริ ยา สีขาว <input type=\"password\"> 108 <input type=\"range\"> <input type=\"reset\"> <input type=\"search\"> <input type=\"submit\"> <input type=\"tel\"> <input type=\"text\"> <input type=\"time\"> <input type=\"url\"> <input type=\"week\"> Text Fields การใช้กลอ่ งรับข้อความ (TextField) กลอ่ งรบั ขอ้ ความบรรทัดเดียว (Single line TextField) กลอ่ งรับข้อความบรรทดั เดยี วจะใช้กรอกขอ้ ความสนั ๆ เช่นชอื , นามสกุล, เบอร์ โทรศพั ท์, หรืออเี มล์ เปนตน้ รูปแบบการเขยี นสคริปตผ์ า่ นแทก็ < input> ในภาษา html โดยกําหนดคณุ สมบตั ิดังนี < input type=\"text\" id=“กําหนด id” name=\"ชอื กล่องข้อความ” size=\"ความกวา้ งกล่องรบั ข้อความ” maxlength=\"จาํ นวนตวั อักษรสูงสดุ ” value=“ คา่ เริมต้นทจี ะใหแ้ สดงบรรจไุ ด้ 20 ตัวอกั ษร”>; The <label> Element ปายกาํ กับ tag <label> กาํ หนดปายกาํ กับสําหรับองคป์ ระกอบหลายรปู แบบ <label> มปี ระโยชน์สาํ หรับผใู้ ช้อ่านหน้าจอชว่ ยใหผ้ ู้ใช้ทีมีปญหาในการคลกิ ในพืนทีเล็กมาก (เชน่ ปมุ ตัวเลือกหรือชอ่ งทาํ เครอื งหมาย) เนอื งจากเมือผใู้ ช้คลกิ ขอ้ ความภายใน <label> มนั จะสลบั ปุม / ชอ่ งทาํ เครืองหมาย แอตทริบิวต์สําหรับแทก็ <label> ควรเทา่ กบั แอตทรบิ ิวต์ id ของ <input> เพือผูกเข้าดว้ ยกัน Text Fields การแสดงผล
รายวชิ า การโปรแกรมเว็บเบ้อื งตน จดั ทําโดย นางสาววริ ยา สีขาว Input Type Password 109 <input type=\"password\">การกําหนดฟลสแ์ บบรหสั ผ่าน กลอ่ งรับรหสั ผา่ นจะรับข้อมลู เปน รหัสผ่านโดยเฉพาะ เนืองจากผู้ใชก้ รอกขอ้ มูลลงในกลอ่ งรบั รหสั ผา่ นจะปรากฏเปนเครืองหมาย ดอกจัน (*) แทนตัวอกั ษรแตล่ ะตวั ในรหัสผ่าน รปู แบบการเขียนสครปิ ตผ์ ่านแท็ก < input> ในภาษา html โดยกาํ หนดคณุ สมบตั ดิ งั นี < input type=\"password\" id=“กาํ หนด Id” name=\"ชอื กลอ่ งข้อความ“ size=\"ความกว้าง กลอ่ งรบั ขอ้ ความ“ maxlength=\"จํานวนตวั อักษรสงู สุด\">; ตัวอย่างการเขียน การแสดงผล Radio Buttons ลักษณะของ ปุมตวั เลอื กแบบ Radio คือ ใน 1 ชดุ คาํ ถามผูใ้ ชส้ ามารถเลือกคาํ ตอบได้เพี ยงแค่ 1 คําตอบเท่านนั เชน่ ข้อมลู ประเภท เพศ, ศาสนา หรือข้อสอบทเี ลือกตอบไดเ้ พี ยงคําตอบเดยี ว เทา่ นัน รปู แบบการเขียนสคริปตผ์ า่ นแทก็ < input> ในภาษา html โดยกาํ หนดคณุ สมบตั ดิ ังนี < input type=\"radio\" name=\"ชอื ของกลุ่มตัวเลือก\" value=\"ค่าของตัวเลือก\"/> < lable>ข้อความทตี อ้ งการให้แสดงหน้าปุม< /lable> ตวั อย่างการเขียน
รายวิชา การโปรแกรมเว็บเบอื้ งตน จดั ทําโดย นางสาววริ ยา สขี าว 110 การแสดงผล Input Type Checkbox ปมุ ตัวเลอื ก เลือกได้หลายตวั เลือก การกาํ หนด checkbox <input type=\"checkbox“> ลักษณะของปุม Checkbox คอื สามารถเลอื กไดม้ ากกวา่ 1 ตัวเลอื ก เชน่ เลือกเกียวกับ ความชอบ หรือเลือกขอ้ สอบทใี หเ้ ลือก ตอบมากกวา่ 1 ข้อ เปนตน้ รูปแบบการเขียนสครปิ ตผ์ า่ นแทก็ < input> ในภาษา html โดยกาํ หนดคณุ สมบตั ิดังนี < input type=\"checkbox\" id=“กาํ หนด id” name=\"ชอื ของกลุ่มตัวเลอื ก\" value=\"คา่ ของ ตวั เลอื ก“ > ตวั อย่างการเขยี น การแสดงผล
รายวิชา การโปรแกรมเว็บเบือ้ งตน จัดทาํ โดย นางสาววิรยา สีขาว 111 The Submit Button ปมุ สง่ ขอ้ มลู (Submit) <input type = \"submit\"> กําหนดปมุ สําหรบั ส่งขอ้ มูลฟอร์มไปยงั form-handler (ตวั จัดการแบบฟอรม์ ) form-handler โดยทัวไปแล้วเพจบนเซิร์ฟเวอร์ทีมี สคริปตส์ ําหรับการประมวลผลข้อมลู อนิ พุ ต form-handler ถกู ระบุในแอ็ตทริบวิ ต์ action ของ ฟอรม์ ปมุ สงั งานมี 3 ประเภท ได้แก่ ปุมส่งขอ้ มลู , ปมุ ล้างข้อมลู , ปมุ สงั งานแบบรปู ภาพ ปมุ สง่ ข้อมลู ทําหน้าหน้าทีสง่ ขอ้ มูลทีผใู้ ชก้ รอกไปประมวลผลต่อยังสครปิ ตท์ ีตอ้ งการ รูปแบบการ เขยี นสคริปต์ผา่ นแท็ก < input> ในภาษา html โดยกาํ หนดคณุ สมบตั ิดงั นี < input type=\"submit\" name=\"ชอื ปุม\" value=\"ข้อความหนา้ ปมุ \"/> ตัวอย่างการเขยี น การแสดงผล ตัวอยา่ งการสง่ ฟอรม์ ข้อมูลเมือกดปุมแตต่ ้องสรา้ งดว้ ยภาษา PHP หรือภาษาอนื ๆ
รายวชิ า การโปรแกรมเวบ็ เบ้อื งตน จัดทาํ โดย นางสาววิรยา สีขาว Input Type Reset ปุมล้างข้อมลู <input type=\"reset\"> ปมุ ในการกําหนดค่าลา้ งขอ้ มูลในฟอรม์ ทังหมดคงไว้แคค่ ่าพืนฐานของ 112 กล่องรับขอ้ มลู นันๆ รูปแบบการเขยี นสคริปตผ์ า่ นแท็ก < input> ในภาษา html โดยกําหนด คณุ สมบัตดิ งั นี < input type=\"reset\" name=\"ชอื ปมุ \" value=\"ข้อความหน้าปุม\"/> ตัวอย่างการเขยี น การแสดงผล
รายวชิ า การโปรแกรมเว็บเบือ้ งตน จัดทาํ โดย นางสาววริ ยา สขี าว Input Type Button 113 การสร้างการรับข้อมูลด้วยปุม การกาํ หนดการนาํ เขา้ ดว้ ยปุม <input type=\"button\"> ตัวอย่างการเขยี น การแสดงผล Input Type Date การรับขอ้ มูลวนั ที <input type=\"date\"> การรับขอ้ มลู ดว้ ยวันที ตวั เลอื กวนั ทีสามารถแสดง ขนึ ในฟลด์ปอนข้อมลู ทังนีขนึ อยกู่ ับการสนับสนุนของเบราว์เซอร์ ตัวอยา่ งการเขยี น การแสดงผล
รายวิชา การโปรแกรมเวบ็ เบ้อื งตน จัดทาํ โดย นางสาววิรยา สขี าว Input Type Email 114 การรบั ขอ้ มูลด้วย Email <input type = \"email\"> ใชส้ าํ หรับฟลดก์ ารรบั ข้อมูลทีอยูอ่ เี มล สามารถตรวจสอบทีอย่อู เี มลไดโ้ ดยอตั โนมตั ิเมือกดสง่ ตวั อย่างการเขยี น การแสดงผล Input Type File การรับขอ้ มลู ดว้ ยไฟล์ <input type=\"file\"> จะมีฟลด์ file-select ในการเรียกดไู ฟล์ \"Browse\" เมอื กดปุมไฟลก์ จ็ ะอัพโหลด ตวั อย่างการเขียน
รายวิชา การโปรแกรมเว็บเบอ้ื งตน จัดทาํ โดย นางสาววริ ยา สขี าว การแสดงผล 115 Input Type Number การรบั ข้อมลู ดว้ ยตัวเลข <input type=\"number\"> การกําหนดตัวเลขในการรับข้อมูล นอกจากนีคณุ ยงั สามารถกําหนดคา่ สูงสดุ ตาํ สุขของหมายเลข ตัวอย่างตอ่ ไปนแี สดงฟลด์ อนิ พุ ตแบบตวั เลขซงึ คณุ สามารถปอนค่าได้ตงั แต่ 1 ถงึ 5: ตวั อยา่ งการเขยี น การแสดงผล Input Type Search การรับขอ้ มูลค้นหา <input type=\"search\"> การรบั ขอ้ มูลแบบการค้นหาขอ้ มลู ตวั อยา่ งการ เขยี น
รายวชิ า การโปรแกรมเว็บเบื้องตน จดั ทาํ โดย นางสาววริ ยา สขี าว 116 การแสดงผล Input Type Tel การรบั ขอ้ มูลเบอร์โทร <input type=\"tel\"> เปนการกําหนดฟลด์การรบั ขอ้ มลู ดว้ ยเบอร์ โทรศพั ท์ สามารถระบุรปู แบบการกรอกเบอร์ไวไ้ ด้ ตัวอยา่ งการเขียน การแสดงผล
รายวิชา การโปรแกรมเวบ็ เบื้องตน จัดทําโดย นางสาววิรยา สขี าว Input Type Url 117 การรับข้อมลู Url (ทีอยู่บนเวบ็ ไซต์) <input type=\"url\"> เปนฟลดท์ ีใชก้ าํ หนดการรับขอ้ มลู URL address ทีอยูเ่ วบ็ ไซต์ ตัวอย่างการเขียน การแสดงผล The Action Attribute attribute action เปนการกาํ หนดการดําเนนิ การ เมอื คลิกปุม submit แลว้ โดยทัวไปแลว้ ขอ้ มูลฟอร์มจะถูกส่งไปยงั หน้าเว็บบนเซริ ์ฟเวอรเ์ มอื ผู้ใชค้ ลกิ ทปี มุ ส่ง ในตัวอย่างข้างตน้ ขอ้ มูล แบบฟอร์มจะถูกสง่ ไปยังหน้าบนเซิรฟ์ เวอรช์ อื \"/action_page.php\" หน้านีมสี ครปิ ต์ฝง เซิรฟ์ เวอร์ทจี ัดการขอ้ มูลฟอร์ม หากไม่ระบแุ อตทรบิ วิ ต์ action การกระทําจะถูกตงั คา่ เปนหนา้ ปจจุบนั : <form action=\"/action_page.php\"> The Method Attribute attribute method เปนการกาํ หนดวธิ สี ง่ ข้อมลู เมอื มีการกดปมุ ส่งขอ้ มลู บน HTTP method (GET หรอื POST) สําหรับวิธสี ่งขอ้ มูลมี 2 รปู แบบซงึ แตกต่างกนั <form action=\"/action_page.php\" method=\"get\"> <form action=\"/action_page.php\" method=\"post\"> The GET method GET เปนการส่งขอ้ มลู จากฟอร์มผา่ นทาง URL ของเวบ็ เพจโดยตรง วธิ ีนไี ม่ปลอดภัย- เพราะ ข้อมูลทสี ่งผา่ นไปใหส้ คริปตน์ ัน จะถูกแสดงออกมาในรูปแบบของขอ้ ความธรรมดา ใน URL ซงึ เราจะเหน็ ในชอ่ ง Address Bar ของบราวเซอร์ ตัวอยา่ ง /action_page.php?firstname=Wiraya&lastname=Srikarw
รายวชิ า การโปรแกรมเว็บเบื้องตน จัดทําโดย นางสาววิรยา สีขาว The POST method POST เปนการส่งข้อมลู จากฟอร์มไปยงั สคริปต์โดยตรง โดยไม่ผา่ น URL ทาํ ใหเ้ ราไมส่ ามารถ 118 มองเห็น ขอ้ มลู ดงั กลา่ วไดด้ ว้ ยวิธปี กติ แบบนีจึงเหมาะกบั ขอ้ มลู ขนาดใหญๆ่ หรือข้อมูลทีตอ้ ง- การปดเปนความลับ เชน่ หน้าจอลอ็ กอิน ใช้ POST ทุกครังหากขอ้ มูลฟอรม์ มีขอ้ มลู ที ละเอยี ดออ่ นหรือข้อมลู ส่วนบคุ คล วิธีการ POST ไมแ่ สดงขอ้ มลู แบบฟอรม์ ในฟลดท์ ีอย่หู นา้ หมายเหตเุ กยี วกบั POST: POST ไม่มขี ้อ จํากัด ดา้ นขนาดและสามารถใชเ้ พือส่งข้อมลู จํานวนมาก การสง่ แบบฟอรม์ ด้วย POST ไม่สามารถคันหน้าได้ The Name Attribute Attribute Name แตล่ ะฟลดป์ อนข้อมลู ตอ้ งมี แอตทรบิ ิวตช์ อื ทีจะสง่ หากไมร่ ะบแุ อตทริ บิวตช์ อื ข้อมลู ของฟลด์อนิ พุ ตนันจะไมถ่ กู ส่งเลย ตวั อยา่ งการเขียน ตัวอยา่ งฟอรม์ เมอื กดสง่ ข้อมลู จะไม่ถูกส่ง การแสดงผล
รายวิชา การโปรแกรมเว็บเบื้องตน จัดทาํ โดย นางสาววริ ยา สขี าว กล่องรับข้อความหลายบรรทดั (TextArea) 119 กล่องรบั ข้อความหลายบรรทดั เหมาะสาํ หรับเปนกลอ่ งรบั ข้อความยาวๆ เชน่ กล่องรบั ที อยู่ หรอื กล่องรับความคดิ เหน็ เปนตน้ รปู แบบการเขยี นสคริปตผ์ ่านแทก็ < textarea> ในภาษา html โดยกําหนดคุณสมบตั ิดงั นี < textarea name=\"ชอื กล่องขอ้ ความ\" cols=\"จํานวนของตัวอักษรใน 1 บรรทัด\" rows=\"จาํ นวนบรรทดั \"> < /textarea> การใชก้ ล่องตวั เลอื กแบบปอบอัพเมนู เปนกลอ่ งตวั เลือกแบบแสดงรายการขนึ มาใหเ้ หน็ เพี ยงรายการเดยี ว เมอื คลกิ ทลี ูกศร เมนรู ายการอนื ๆ จงึ จะปรากฏขนึ มาให้คณุ เลือก รูปแบบการเขียนสคริปตผ์ า่ นแท็ก < select> ในภาษา html โดยกําหนดคณุ สมบตั ดิ งั นี < select name=\"ชอื กล่องตัวเลอื ก\"> < option value=\"คา่ ของตวั เลอื กที 1\" selected=\"select\">ชอื ตวั เลือกที 1< /option> < option value=\"ค่าของตวั เลอื กที 2\">ชอื ตัวเลอื กที 2< /option> < option value=\"คา่ ของตัวเลือกที n\">ชอื ตวั เลือกที n< /option> < /select>
รายวิชา การโปรแกรมเวบ็ เบ้ืองตน จดั ทําโดย นางสาววิรยา สขี าว 120 ความเปนมา ผ้พู ั ฒนาคอื PHP ย่อมาจาก Professional Home Page เริมสรา้ งขนึ ในกลางป 1994 นาย Rasmus Lerdorf ปจจุบนั PHP มีการพั ฒนามาเปนรุ่นที 7.1.1 PHP ดีอย่างไร Open source No cost implementation – PHP เปนของฟรี Server side ทาํ งานฝง Server Crossable Platform run ไดท้ ัง Windows,Unix,Linux HTML embedded Simple language - งา่ ย วธิ กี ารตดิ ตัง PHP, MySQL, Apache, phpMyAdmin สําหรบั พั ฒนา Website ด้วย PHP การทีเราจะพั ฒนา Website ได้นัน เราตอ้ งทาํ ใหเ้ ครอื งเราเปรียบเสมอื น Web server ให้ได้ เสยี กอ่ น โดยบทความนแี นะนําวิธีการตดิ ตงั โปรแกรมเพือจาํ ลองให้เครอื งเราเปน Web server ได้อย่างง่ายๆ แต่กอ่ นจะไปถึงการตดิ ตงั เรามาทาํ ความเข้าใจเกียวกบั Web server ซักนิดก่อน เพือใหเ้ ราเขา้ ใจคุณสมบตั ิ หนา้ ทีการทาํ งาน ข้อจํากดั ของ Web server Web server คอื อะไร ? Web server คือเครอื งคอมพิ วเตอร์ทีติดตงั โปรแกรมสาํ หรับทาํ หน้าทีให้บริการเก็บข้อมูล และประมวลผลเพื อแสดง Website บน Internet โดยตัว Website เองถูกพั ฒนาได้จาก หลายภาษาโปรแกรมมิง ตัวอย่างเช่น php, jsp, asp เปนต้น ภาษาเหล่านีเราเรียกมันว่า Server-side script คือ ภาษาทีถกู ประมวลที server กอ่ นจะส่งข้อมูลมายังเครือง Client ที เรยี กดู Website นันๆ
รายวิชา การโปรแกรมเวบ็ เบอ้ื งตน จัดทําโดย นางสาววิรยา สีขาว ดงั นันการตดิ ตงั โปรแกรมเพื อให้บรกิ ารเปน Web server จะขึนอยู่กบั ภาษาทีเรานํามาพั ฒนา 121 Website ดว้ ย ในบทความนี เราจะแนะนาํ การติดตังโปรแกรมต่างๆ บน Web server สาํ หรับผูพ้ ั ฒนา Website ด้วยภาษา PHP โปรแกรมเหลา่ นีประกอบด้วย Apache - ทําหนา้ ทเี ปน Web server MySQL - ทําหนา้ ทจี ัดการ Database PHP - ทําหนา้ ทแี ปลภาษา PHP phpMyAdmin - เปนเครอื งมือแบบ Web based สําหรับจดั การ Database AppServ คอื อะไร? กําเนดิ โปรแกรม AppServ โปรแกรม AppServ ไดก้ ําเนดิ จากแรงบันดาลใจจากเพือนของผู้พั ฒนาคนหนึงทีไดเ้ ริม ศึกษาภาษา PHP และฐานขอ้ มูล MySQL และมีปญหาทุกครังในการตดิ ตงั กว่าจะตดิ ตงั ไดก้ ็ใช้ เวลาไม่น้อยกวา่ 3 ชวั โมง บางทที ําไดบ้ า้ งไมไ่ ดบ้ า้ ง และทกุ ครงั ทตี ดิ ตงั ไมไ่ ด้กจ็ ะมาขอความ ช่วยเหลอื จากผู้พั ฒนาเปนประจาํ ทกุ ครัง จงึ ทําใหผ้ พู้ ั ฒนาได้สรา้ งโปรแกรมทีสะดวกในการ ติดตงั เพือใหเ้ พือนของผูพ้ ั ฒนาสามารถนําไปใช้งานได้ทันที โดยไม่ต้องมาปวดหัวกับการตดิ ตัง ทียุง่ ยากอกี ต่อไป ประวัตินกั พั ฒนาโปรแกรม AppServ สาํ หรบั ผ้พู ั ฒนานนั ได้อาศัยอยูใ่ นประเทศไทย ชอื ภาณุพงศ์ ปญญาดี ชอื เลน่ apples เกิดวนั ที 14 สิงหาคม 2523สาํ เร็จการศึกษาระดับปริญญาตรจี าก สถาบนั ราชภัฏ เชียงใหม่ คณะวิทยาศาสตร์และเทคโนโลยี สาขาวทิ ยาการคอมพิ วเตอร์มปี ระสบการณแ์ ละความ เชียวชาญพิ เศษในเรอื งของ Linux Security, Linux Network, Network Security, Network Admin, PHP Programming, MySQL Database, Linux/Unix Hacking System, Web Design, ฯลฯ ระบบปฏบิ ตั ิการทีเลอื กใช้ Desktop เลอื ก Windows แตถ่ ้า เปน Server/Network เลอื กเฉพาะ Debian GNU/Linux เท่านัน โปรแกรม AppServ AppServ คือโปรแกรมทรี วบรวมเอา Open Source Software หลายๆ อย่างมารวมกัน โดยมี Package หลักดงั นี Apache , PHP , MySQL , phpMyAdmin เตรยี มโปรแกรมเพื อติดตงั ดาวนโ์ หลดโปรแกรม AppServ จากเวบ็ ไซต์ http://www.appserv.org โดยเลือกเวอรช์ นั ที ต้องการตดิ ตงั ระหวา่ งเวอร์ชนั 2.4.x และ 2.5.x โดยความแตกตา่ งของ 2 เวอรช์ นั นีคอื 2.4.x คือเวอรช์ นั ทีนํา Package ทีมีความเสถียรเปนหลกั เหมาะสําหรับผทู้ ีต้องการความมนั คง ของระบบ โดยไม่ได้ม่งุ เนน้ ทจี ะใชฟ้ งก์ชนั ใหม่ 2.5.x คอื เวอร์ชนั ทีนาํ Package ใหมๆ่ นาํ มาใช้งานโดยเฉพาะ เหมาะสําหรบั นกั พั ฒนาที ต้องการระบบใหม่ๆ หรอื ตอ้ งการทดสอบ ทดลองใช้งานฟงก์ชนั ใหม่ ซงึ อาจจะไม่ไดค้ วามเสถียรของระบบได้ 100% เนอื งจากว่า Package จากนักพั ฒนานนั ยังอยูใ่ นชว่ งของขนั ทดสอบ ทดลองเพือหา ข้อผิดพลาดอยู่
รายวชิ า การโปรแกรมเวบ็ เบอื้ งตน จัดทาํ โดย นางสาววริ ยา สขี าว 1. ดบั เบลิ คลกิ ไฟล์ appserv-win32-x.x.x.exe เพือทาํ การติดตงั จะปรากฏหน้าจอตามรปู ที 1 122 2. เข้าสู่ขนั ตอนเงอื นไขการใชง้ านโปรแกรม โดยโปรแกรม AppServ ได้แจกจา่ ยในรูปแบบ GNU License หากผู้ติดตงั อ่านเงือนไขต่างๆ เสรจ็ สินแลว้ หากยอมรับเงือนไขใหก้ ด Next เพือเขา้ สกู่ ารติดตังในขนั ต่อไป ดังรูปตวั อยา่ งที 2 3. ขนั ตอนการเลอื กปลายทางทีต้องการตดิ ตงั โดยค่าเริมตน้ ปลายทางทตี ดิ ตงั จะเปนC:AppServ หากตอ้ งการเปลียนปลายทางทีติดตงั ให้กด Browse แลว้ เลือกปลายทางทีต้องการ ตามรปู ที 3 เมอื เลือกปลายทางเสร็จสนิ ให้กดปมุ Next เพือเขา้ สูข่ นั ตอนการติดตงั ขนั ตอ่ ไป
รายวชิ า การโปรแกรมเว็บเบือ้ งตน จดั ทําโดย นางสาววริ ยา สีขาว 4. เลอื ก Package Components ทีตอ้ งการตดิ ตงั โดยคา่ เริมตน้ นันจะให้เลอื กลงทกุ Package แต่หากวา่ ผใู้ ช้งานต้องการเลอื กลงเฉพาะบาง Package กส็ ามารถเลือกตามข้อที 123 ตอ้ งการออก โดยรายละเอยี ดแตล่ ะ Package มีดงั นี Apache HTTP Server คอื โปรแกรมทที ําหนา้ เปน Web Server MySQL Database คือ โปรแกรมทีทาํ หนา้ เปน Database Server PHP Hypertext Preprocessor คือ โปรแกรมทีทาํ หนา้ ประมวลผลการทาํ งานของภาษา PHP phpMyAdmin คอื โปรแกรมทใี ช้ในการบริหารจัดการฐานขอ้ มลู MySQL ผา่ นเวบ็ ไซต์ เมอื ทํา การเลอื ก Package ตามรปู ที 4 เรยี บรอ้ ยแล้ว ให้กด Next เพือเข้าสู่ขนั ตอนการตดิ ตงั ตอ่ ไป PHP Syntax โครงสรา้ งภาษา PHP แบบที 1 XML style <?php คาํ สงั ภาษา PHP ?> ตวั อยา่ ง <?php echo \"Hello ! World ! <br>\"; echo \"I am PHP\"; ?> แบบที 2 SGML style <? คําสงั ภาษา PHP ?> ตัวอยา่ ง %> <? echo \"Hello ! World ! <br>\"; echo \"I am PHP\"; ?> แบบที 3 Java Language style <script language=\"php\"> คาํ สงั ภาษา PHP </script> ตัวอย่าง <script language=\"php\"> echo \"Hello ! World\"; </script> แบบที 4 ASP Style <% คาํ สงั ภาษา PHP %> ตวั อยา่ ง <% echo \"Hello ! World ! <br>\"; echo \"I am PHP\";
รายวิชา การโปรแกรมเวบ็ เบื้องตน จัดทําโดย นางสาววิรยา สขี าว จากตัวอยา่ ง แบบทีเปนทนี ิยม คือ แบบที 1 ผลทีไดเ้ มอื ผา่ นการทํางานแล้วจะไดผ้ ลดงั นี 124 Hello ! World ! I am PHP ขอ้ สังเกต รูปแบบคล้ายกบั ภาษา C และ Perl ใชเ้ ครอื งหมาย ( ; ) คันระหว่างคาํ สงั แต่ ละคาํ สัง File ทีไดต้ ้อง save เปนนามสกุล php PHP Comments เหมือนกับการ Comment ของภาษา C, C++ และ Unix ตัวอย่าง <?php echo \"Hello !\"; // การ comment แบบ 1 บรรทัด /* แบบหลายบรรทดั ตงั แต่ 2 บรรทดั ขึนไป */ echo \"World\"; # การ comment แบบ shell-style ?> เขียน HTML ร่วมกบั PHP ไดเ้ ลย โดยเขยี นคําสงั HTML อยนู่ อก PHP tag <html><body> <h1>My first PHP page</h1> <?php echo \"Hello World!\"; ?> </body></html> PHP Case Sensitivity ในภาษา PHP คาํ หลัก เชน่ if, else, while, echo, และ classes, functions, and ฟงกช์ นั ที ผ้ใู ชก้ ําหนดไมค่ ํานึงถงึ ตวั พิ มพ์ เล็ก พิ มพ์ ใหญ่ เชน่ IF และ if กใ็ ช้กําหนดเงือนไขได้เหมือนกนั ตัวอย่างการใช้ echo ทัง 3 คําถึงจะพิ มพ์ ตวั เลก็ ใหญ่กใ็ ชเ้ ปนคาํ สงั ในการแสดงค่าได้ ดงั น:ี <?php การแสดงผล ECHO \"Hello World!<br>\"; echo \"Hello World!<br>\"; EcHo \"Hello World!<br>\"; ?> ภาษา PHP ในการกาํ หนดตวั แปร ถา้ ตัวอักษรเปนพิ มพ์ เลก็ -พิ มพ์ ใหญ่ PHP จะมองว่าตวั แปร นัน เปนคนละตัวกนั เช่น $color $color, $COLOR, และ $coLOR ตัวอย่าง <?php $color = \"red\"; echo \"My car is \" . $color . \"<br>\"; echo \"My house is \" . $COLOR . \"<br>\"; echo \"My boat is \" . $coLOR . \"<br>\"; ?>
รายวชิ า การโปรแกรมเวบ็ เบ้ืองตน จัดทาํ โดย นางสาววิรยา สขี าว PHP Variables 125 การสร้างตัวแปรในภาษา PHP จะขนึ ตน้ ดว้ ยเครอื งหมาย $ ตามดว้ ยชอื ตวั แปร หลักในการกาํ หนดตัวแปร 1. ชอื ตวั แปรจะตอ้ งเรมิ ตน้ ดว้ ยตวั อกั ษรหรือตัวอกั ษรขดี ล่างหา้ มมชี อ่ งว่างในตวั แปร <?php $helloworld; // ถกู $hello world; // ผดิ ?> 2. ชอื ตัวแปรไมส่ ามารถเรมิ ต้นดว้ ยตวั เลข <?php $var1 // ถูก $1var // ผิด ?> 3. ชอื ตวั แปรสามารถมไี ดท้ ังตัวอักษรตัวเลขและขดี ล่าง (A-z, 0-9 และ _) ห้ามมี ตวั อกั ษรพิเศษเชน่ & . ( ) – <?php $hello_world // ถกู $hello.world // ผิด $hello-world // ผดิ $hello$world // ผิด ?> 4. ชอื ตัวแปรเปนตัวพิมพ์ เล็กและตัวพิ มพ์ ใหญ่ ตวั อักษรเล็ก-ใหญ่ ถือว่าเปนคนละตัวแปร <?php $helloworld $HelloWorld // ทังหมด ถือว่าเปนตวั แปรคนละตวั กัน ?> ตวั อย่าง <?php $txt = \"Hello world!\"; การแสดงผล $x = 5; $y = 10.5; echo $txt; echo \"<br>\"; echo $x; echo \"<br>\"; echo $y; ?>
รายวิชา การโปรแกรมเว็บเบ้ืองตน จดั ทําโดย นางสาววิรยา สขี าว Output Variables 126 คําสงั PHP echo มักใช้เพือสง่ ข้อมลู ไปยังหนา้ จอ ตัวอยา่ งตอ่ ไปนจี ะแสดงวธิ ีการส่งข้อความ และตวั แปร: ตัวอยา่ งที 1 การเขียนตวั แปรกับขอ้ ความ ใน “ ” ดว้ ยคําสงั echo <?php การแสดงผล $txt = \"www.google.co.th\"; echo \"คน้ หาขอ้ มูลที $txt!\"; ?> ตวั อยา่ งที 2 การเชอื มขอ้ ความ และตัวแปลโดยใช้ “” และเชอื มด้วย . (จดุ ) <?php การแสดงผล $txt = \" www.google.co.th \"; echo \"คน้ หาขอ้ มลู ที \" . $txt . \"!\"; ?> ตัวอยา่ งที 3 การใชต้ วั แปรในการคาํ นวณหาผลรวมของตัวแปร <?php $x = 5; การแสดงผล $y = 4; echo $x + $y; ?> PHP Variables Scope ขอบเขตของตัวแปร เมอื เราสร้างตวั แปรมาสกั ตวั หนงึ กใ็ ช่วา่ เราจะสามารถใช้งานตวั แปรนนั ๆ ไดต้ ลอดทังโปรแกรม ตัวแปรบางตวั สรา้ งไว้ในฟงกช์ นั กจ็ ะสามารถใชง้ านไดภ้ ายในฟงกช์ นั นันๆ เทา่ นัน ถา้ หากเราไม่ ทราบถงึ ขอบเขตของตัวแปรแลว้ อาจทําใหโ้ ปรแกรมของเราทํางานผิดพลาดได้ เพราะเราอาจจะ กําหนดค่าไปซาํ กบั ตัวแปรทีเราไม่ต้องการก็ได้ ขอบเขตของตวั แปร มีทงั หมด 3 แบบดังนี 1. Local variable เปนตัวแปรทปี ระกาศในฟงก์ชนั และใชง้ านไดแ้ ตภ่ ายในฟงกช์ นั ทีประกาศไว้เทา่ นัน <?php การแสดงผล function myTest() { $x = 5; // local scope echo \"<p>ฟงก์ชัน x ในตวั แปรคือ:: $x</p>\"; } myTest(); // การใชต้ วั แปร x นอกฟงกช์ นั จะทําใหเ้ กดิ ข้อผิดพลาด echo \"<p>ฟงกช์ ัน x นอกตัวแปรคอื : $x</p>\"; ?>
รายวชิ า การโปรแกรมเว็บเบอ้ื งตน จัดทาํ โดย นางสาววริ ยา สีขาว 2. Global variable ตัวแปรทปี ระกาศภายนอกฟงก์ชนั นัน ถา้ ประกาศตัวแปรเปน Global และสามารถเข้าถงึ ไดน้ อก 127 ฟงกช์ นั เทา่ นัน: <?php การแสดงผล $x = 5; // global scope function myTest() { // การใช้ x ภายในฟงก์ชนั นีจะสรา้ งขอ้ ผิดพลาด echo \"<p>>ฟงก์ชัน x ในตวั แปรคือ: $x</p>\"; } myTest(); echo \"<p>>ฟงกช์ นั x นอกตวั แปรคอื : $x</p>\"; ?> PHP The global Keyword การใชค้ าํ หนา้ ตัวแปรเพือทีตอ้ งการใหต้ ัวแปรเปนแบบ Global ในฟงก์ชนั กจ็ ะสามารถใช้งาน นอกฟงกช์ นั ได้ <?php การแสดงผล $x = 5; $y = 10; function myTest() { global $x, $y; $y = $x + $y; } myTest(); echo $y; // outputs 15 ?> ถา้ ตอ้ งการให้ตัวแปรทงั หมดในอารเ์ รยเ์ ปนแบบ Global ในฟงก์ชนั จะใช้รปู แบบ $GLOBALS[index] index คอื ใสช่ อื ตัวแปรเข้าไป รูปแบบอารเ์ รยน์ สี ามารถเขา้ ถงึ นอก ฟงก์ชนั ได้ และสามารถอพั เดตค่าของตวั แปร Global โดยตรง ตัวอย่าง <?php การแสดงผล $x = 5; $y = 10; function myTest() { $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y']; } myTest(); echo $y; // outputs 15 ?>
รายวชิ า การโปรแกรมเวบ็ เบ้อื งตน จัดทาํ โดย นางสาววริ ยา สีขาว 3. static variable 128 PHP The static Keyword โดยปกตเิ มอื ฟงกช์ นั เสรจ็ สมบรู ณ์ / ดําเนนิ การตวั แปรทงั หมด จะถูกลบ (ค่าทีไดจ้ ากการใช้ฟงก์ชนั ) อย่างไรก็ตามบางครงั เราไมต่ ้องการลบตัวแปร Local และต้องการเกบ็ คา่ ใช้ตวั แปรต่อไป การทํานีจะทาํ เมอื ประกาศตัวแปรครงั แรก: ตวั อยา่ ง <?php การแสดงผล function myTest() { static $x = 0; echo $x; $x++; } myTest(); echo \"<br>\"; myTest(); echo \"<br>\"; myTest(); ?> หมายเหตุ คําสงั $x++; จะทําให้ค่าเพิมทีละ 1 คา่ เมอื ใชฟ้ งก์ชนั นันอกี ครังค่าจะเพิมขึนทลี ะ 1 คา่ เพิมไปจากค่าเดมิ ซึงปกติจะต้องถกู ลบตัวแปรไปแลว้ เรมิ ต้นใหม่ PHP echo and print Statements PHP มสี องวิธพี ืนฐานในการแสดงผล คือ : echo และ print ความแตกต่างของคาํ สงั : echo ไม่มีค่าสง่ คนื ในขณะทกี ารพิ มพ์ มคี ่าส่งคืน 1 ดังนันจงึ สามารถใช้ในนิพจน์ echo สามารถรบั ได้ หลายพารามิเตอร์ (แม้วา่ การใชง้ านดงั กล่าวจะหายาก) ในขณะที print สามารถใช้อารก์ ิวเมนต์ เดยี ว echo จะทํางานไดเ้ รว็ กวา่ print เลก็ นอ้ ย The PHP echo Statement คําสงั echo เปนคาํ สังสําหรับแสดงผลลัพธ์ไปทีโปรแกรม browser จะไดแ้ บบ echo หรอื echo( ) รูปแบบของคาํ สงั echo ข้อความ1 หรอื ตวั แปร1, ขอ้ ความ2 หรือตวั แปร2, ขอ้ ความ3 หรอื ตวั แปร3,... ; ขอ้ ความ ใหเ้ ขียนภายใตเ้ ครอื งหมาย double quote (\" \") หรือ single quote (‘ ‘) ตวั แปร ภาษา PHP จะขนึ ตน้ ดว้ ยเครืองหมาย $ เสมอ คลา้ ยกับภาษา Perl ตัวอย่างการแสดงขอ้ ความ <?php การแสดงผล echo \"<h2>PHP</h2>\"; echo \"Hello world!<br>\"; echo \"การเขียนภาษา PHP<br>\";
รายวชิ า การโปรแกรมเว็บเบือ้ งตน จัดทาํ โดย นางสาววิรยา สขี าว echo \"This \", \"string \", \"was \", \"made \", \"with multiple parameters.\"; 129 ?> ตวั อย่างการแสดงค่าของตัวแปร <?php การแสดงผล $txt1 = \"ภาษา PHP\"; $txt2 = \"ภาษาทีนยิ มใชใ้ นการเขยี นเวบ็ ไซต์\"; $x = 5; $y = 4; echo \"<h2>\" . $txt1 . \"</h2>\"; echo \"ภาษา PHP คือ \" . $txt2 . \"<br>\"; echo $x + $y; ?> The PHP print Statement คําสงั print สามารถใช้กับหรอื ไมใ่ สว่ งเล็บ: print หรือ print () ใหข้ อ้ ความทีแสดง ตัวอย่าง ต่อไปนแี สดงวิธีการแสดงผลขอ้ ความด้วยคําสังพิ มพ์ (สังเกตวา่ ข้อความสามารถมี tag HTML): <?php การแสดงผล print \"<h2>PHP is Fun!</h2>\"; print \"Hello world!<br>\"; print \"I'm about to learn PHP!\"; ?> การเขยี นแสดงตวั แปร ตัวอย่างตอ่ ไปนแี สดงวธิ กี ารแสดงผลขอ้ ความและตวั แปรดว้ ยคําสัง print: <?php การแสดงผล $txt1 = \"ภาษา PHP\"; $txt2 = \"การเขียนคําสัง Print\"; $x = 5; $y = 4; print \"<h2>\" . $txt1 . \"</h2>\"; print \"การเขยี นคําสงั แสดงผลด้วย\" . $txt2 . \"<br>\"; print $x + $y; ?>
รายวชิ า การโปรแกรมเวบ็ เบอื้ งตน จัดทําโดย นางสาววิรยา สขี าว ตวั ดําเนินการกําหนดค่า 130 การกาํ หนดค่าให้ตัวแปร ใชเ้ ครืองหมาย = (เทา่ กับ) ในการกําหนดคา่ วิธีการจําง่ายๆ ก็คือ สงิ ทีทาํ ด้านขวา (เชน่ การคาํ นวณ หรอื ขอ้ ความ) จะถูกส่งไปยงั ดา้ นซ้าย ตามตวั อยา่ ง <?php $a = \"PHP\"; // $a เกบ็ ขอ้ ความวา่ PHP $b = 1; // $b เก็บตวั เลข 1 $c = 1 + 2; // $c เก็บผลลัพธจ์ ากการคํานวณด้านขวา คือ 3 $d = $c + 3; // ผลลัพธ์ $d เก็บคา่ 6 เนอื งจาก $c เก็บค่า 3 ไวอ้ ย่แู ล้ว echo \"$a <br>\"; การแสดงผล echo \"$b <br> \"; echo \"$c <br>\"; echo \"$d<br>\" ; ?> ตวั ดาํ เนนิ การเชงิ คณติ ศาสตร์ เครืองหมายทางคณติ ศาสตรท์ ัวๆ ไป ทเี ราคุ้นเคยกนั ดอี ย่แู ลว้ คือ บวก (+) ลบ (-) คูณ (*) หาร (/) แตจ่ ะมีตวั พิ เศษเพิมขึนมาอีกตวั หนงึ คือ หารเอาเศษ (%) ตวั อยา่ ง $a + $b $a บวก $b $a – $b $a ลบ $b $a * $b $a คูณ $b $a / $b $a หาร $b $a % $b $a หาร $b แตเ่ อาเศษ PHP Data Types ชนิดของข้อมูลในภาษา PHP มีดังนี String Integer Float (floating point numbers - also called double) Boolean Array Object NULL Resource
รายวิชา การโปรแกรมเว็บเบ้อื งตน จัดทาํ โดย นางสาววิรยา สขี าว PHP String 131 string เปนชุดอักขระเชน่ \"Hello world!\" string สามารถเปนขอ้ ความใด ๆ ภายใน เครืองหมายคําพู ด สามารถใชเ้ ครืองหมายคําพู ดเดยี วหรือคู่: ตัวอยา่ ง <?php $x = \"Hello world!\"; การแสดงผล $y = 'Hello world!'; echo $x; echo \"<br>\"; echo $y; ?> PHP Integer คา่ Integer ในภาษา PHP จะเก็บค่าได้สงู สุดตงั แต่ -231 ถงึ 231 ชนิดข้อมลู จํานวนเตม็ เปนตัวเลขทไี มใ่ ช่ทศนิยมระหว่าง -2,147,483,648 ถงึ 2,147,483,647 กฎสําหรบั จาํ นวนเตม็ : จํานวนเต็มต้องมอี ยา่ งนอ้ ยหนึงหลัก จํานวนเต็มตอ้ งไมม่ จี ดุ ทศนยิ ม จาํ นวนเตม็ สามารถเปนไดท้ ังบวกหรือลบ จํานวนเตม็ สามารถระบุไดใ้ น: ทศนิยม (ฐาน 10), เลขฐานสิบหก (ฐาน 16), ฐานแปด (ฐาน 8) หรอื เลขฐานสอง (ฐาน 2) ในตวั อยา่ งตอ่ ไปนี $ x เปนจาํ นวนเตม็ PHP var_dump () ฟงกช์ นั สง่ คนื ชนิดขอ้ มูลและค่า ขอ้ มลู นนั ๆ: ตวั อย่าง <?php $x = 5985; การแสดงผล var_dump($x); ?> ตัวอย่างการเขียนชนิด integer เลขฐานตา่ งๆ การแสดงผล <?php $a1=42; // decimal $a2=-234034; // decimal $a3=0436 ; // octal =286 $a4=0x7ABF; // hexadecimal =31423 $a5=123e10; // decimal echo \"$a1 <br>\"; echo \"$a2 <br> \"; echo \"$a3 <br>\"; echo \"$a4<br>\" ;
รายวชิ า การโปรแกรมเว็บเบื้องตน จัดทําโดย นางสาววิรยา สีขาว echo \"$a5<br>\"; 132 ?> PHP Float float (เลขทศนิยม) คอื ตวั เลขทีมีจดุ ทศนิยมหรอื ตวั เลขในรปู แบบเลขชกี ําลงั ตวั อย่าง <?php $a1=1.23456; // ทกุ ตัวเปน Float การแสดงผล $a2=4.00; $a3=11.3e4 ; $a4=11.22e+20; echo \"$a1 <br>\"; echo \"$a2 <br> \"; echo \"$a3 <br>\"; echo \"$a4 <br>\" ; ?> PHP Boolean Boolean แสดงสถานะทเี ปนไปได้สองสถานะ: TRUE หรือ FALSE ใช้ในคาํ สงั เปรยี บเทียบ เพือ เลือกเส้นทางการทํางานของโปรแกรม และตวั แปรทกุ ๆ ตวั ถือวา่ เปนตวั แปรชนิด Boolean ดว้ ยเหมือนกนั ถา้ หากนาํ ไปใชใ้ นคําสงั เปรียบเทียบ ค่าจะแสดงเปน 1 จะไดค้ า่ ทีเปน true กลับมาทังหมด ยกเวน้ ตวั แปรทเี กบ็ ค่า 0 เท่านัน จะไดค้ ่าเปน false $x = true; $y = false; ตวั อย่าง <?php การแสดงผล $a = 1; $b = 2; $c = \"1\"; echo $a < $b ; // true echo $a > $b ; // false echo $a <= $b ; // true echo $a <= $c ; // true echo $a >= $b ; // false echo $a >= $c ; // true echo $a == $b ; // false echo $a == $c ; // true echo $a === $b ; // false echo $a === $c ; // false ?>
รายวิชา การโปรแกรมเว็บเบื้องตน จัดทาํ โดย นางสาววิรยา สีขาว PHP Array 133 อาร์เรยเ์ กบ็ ค่าหลายค่าในตัวแปรเดยี ว เปนชดุ ข้อมลู ทมี คี า่ หลายๆ ค่า ในตวั เดียว โดยไม่ จําเปนต้องเปนขอ้ มลู ชนดิ เดียวกัน หมายความว่าเราสามารถเก็บข้อมลู Integer, Float, String ไว้ในตวั แปรตวั เดยี วกันได้ โดยใชเ้ ครืองหมาย […] และมี key เปนตวั แยกชุดขอ้ มลู นันๆ ตัวแปรอาเรย์ใน PHP จะแบ่งเปน 2 ชนิดใหญๆ่ คือ อาเรย์ธรรมดา และ อาเรย์แบบจบั คู่ (Associative Array) อาเรยธ์ รรมดา ก็คืออาเรยแ์ บบทวั ๆ ไปจะอ้างองิ โดยใช้ key เปน หมายเลขตาม index ตัวแปรอาเรย์เรมิ จากเลข 0 ไปจนหมดข้อมลู อาเรย์ ในตวั อย่างตอ่ ไปนี $ cars คืออารเ์ รย์ PHP var_dump () ฟงก์ชนั สง่ คนื ชนดิ ข้อมลู และคา่ : <?php การแสดงผล $cars = array(\"Volvo\",\"BMW\",\"Toyota\"); var_dump($cars); ?> ตัวอย่างการสร้างอาเรย์ <?php $capital = array(); การแสดงผล $capital[\"thailand\"] = \" bangkok \"; $capital[\"japan\"] = \" tokyo \"; $capital[\"uk\"] = \" london \"; $capital[\"usa\"] = \" washington \"; // เราสามารถอ้างถงึ ขอ้ มูลในอาเรย์ไดโ้ ดยใชช้ อื ประเทศเลย echo $capital[\"thailand\"]; // ไ้ด้ bangkok echo $capital[\"japan\"]; // ได้ tokyo ?> หมายเหตุ แลว้ ถา้ อ้างองิ โดยใชค้ าํ วา่ Thailand แทนคําว่า thailand ก็ไมพ่ บ index นีและไมม่ ี ค่าแสดงออกมา ตัวอย่าง ใน PHP เราสามารถกําหนดค่าในอาเรย์โดยไม่ตอ้ งกําหนด index กไ็ ด้ เชน่ <?php $a = array(); // ประกาศตัวแปรอาเรย์ $a[] = \"PHP\"; $a[] = \"ASP\"; $a[] = \"JSP\"; // ตวั แปร $a จะเกบ็ ค่าโดยเรมิ จากหมายเลข index 0 เปนต้นไป และสรา้ งหมายเลข index ขนึ มาโดยอตั โนมตั ิ echo $a[2]; // ผลลพั ธ์ JSP ?> อาเรยแ์ บบจับคู่ หรอื Associative Array
รายวชิ า การโปรแกรมเว็บเบื้องตน จัดทําโดย นางสาววิรยา สขี าว ปกติ key ทีใชอ้ า้ งองิ อาเรยจ์ ะเปนตวั เลข 0 ไปจนถงึ ตัวสุดทา้ ยของอาเรย์ แตเ่ ราสามารถใช้ 134 ขอ้ ความมาเปน key เพืออ้างองิ ค่าในอาเรย์นนั ๆ ได้ Array หลายมิติ ข้อมลู อาเรย์ ยงั สามารถกาํ หนดให้เปนอาเรย์ซาํ เขา้ ไปอีกได้ เปนหลายๆ ชนั (เรยี กว่า มติ ิ (dimension)) การสร้างอาเรย์ 2 มิติ จากตัวอยา่ งขา้ งต้น เปนการสรา้ งอาเรย์ 1 มิติ หลกั การ ในการสร้างอาเรย์ 2 มติ กิ ็เหมอื นกับอาเรย์ 1 มติ ิ 2 ตัวมาตอ่ กัน เท่านนั ตวั อย่าง <?php $a = array(); $a[0][] = \"white\"; $a[0][] = \"black\"; $a[0][] = \"blue\"; $a[1][] = \"banana\"; $a[1][] = \"apple\"; // การอ้างอิงขอ้ มูลในอาเรย์ echo $a[0][1]; // ได้ผลลัพธ์ black echo $a[1][1]; // ได้ผลลัพธ์ apple ?> ตัวอยา่ ง เราสามารถผสมตัวแปรอาเรยแ์ บบจับคเู่ ข้ากับอาเรย์ธรรมดา หรืออาเรยแ์ บบจบั คเู่ ข้า กับอาเรยแ์ บบจบั ค่กู ็ได้เช่นกนั เชน่ <?php $country = array(); $country[\"thailand\"][\"north\"][] = \"chiang mai\"; $country[\"thailand\"][\"north\"][] = \"chiang rai\"; $country[\"thailand\"][\"north\"][] = \"lamphun\"; $country[\"thailand\"][\"central\"][] = \"bangkok\"; $country[\"thailand\"][\"central\"][] = \"samut songkharm\"; // ถา้ ตอ้ งการแสดงจงั หวดั ในตัวแปร $country ต้องอา้ งอิงดงั นี echo $country[\"thailand\"][\"north\"][0]; // ได้ผลลพั ธ์ chiang mai echo $country[\"thailand\"][\"central\"][0]; // ไดผ้ ลลพั ธ์ bangkok ?>
รายวชิ า การโปรแกรมเว็บเบอื้ งตน จัดทาํ โดย นางสาววิรยา สขี าว ตวั อยา่ ง การจบั คูอ่ ารเ์ รย์ กับการแสดงร่วมกบั ข้อความ 135 <?php $ar= array(\"28\",\"88\",\"22\",\"66\",\"99\",\"55\"); การแสดงผล echo \"ค่าตัวเลขที 1 เทา่ กับ $ar[0] <br>\"; echo \"ค่าตวั เลขที 2 เทา่ กบั $ar[1] <br>\"; echo \"ค่าตวั เลขที 3 เท่ากบั $ar[2] <br>\"; echo \"ค่าตัวเลขที 4 เทา่ กับ $ar[3] <br>\"; echo \"คา่ ตวั เลขที 5 เท่ากบั $ar[4] <br>\"; echo \"คา่ ตัวเลขที 6 เท่ากบั $ar[5] <br>\"; ?> PHP Functions ความสามารถทีแทจ้ รงิ ของ PHP มาจากการเรียกใชฟ้ งกช์ นั มีฟงก์ชนั ในตวั มากกวา่ 1,000 รายการและนอกจากนีเราสามารถสร้างฟงกช์ นั ทีคณุ กาํ หนดเองได้ 1. ฟงก์ชนั ภายใน ฟงก์ชันภายใน คือ ฟงก์ชันทีมีให้เรียกใช้ใน ภาษา PHP ไม่ต้องสร้างเอง สามารถดูได้ จาก help ของ PHP ได้ โดยโหลดได้ที http://www.php.net/docs.php ตัวอย่าง ฟงก์ชัน pow() ถ้าหากเปดดู help จะเขียนเปนลักษณะนี number pow ( number $base, number $exp ) number คือ ค่าทีฟงก์ชันนีส่งกลับออกมา (return) pow คือ ชือฟงก์ชัน (number $base, number $exp) คือ ค่าทีต้องส่งให้ฟงก์ชันนี โดย number หมายถึง ชนดิ ของค่า (datatype) ทีตอ้ งสง่ ไปให้เพราะฉะนัน ฟงก์ชัน pow() เราต้องส่งค่าให้จํานวน 2 ค่า เมอื ฟงก์ชนั ทํางานเสรจ็ แลว้ จะคืนคา่ กลบั มาเปนชนิดตวั เลข ตวั อยา่ ง <?php $value = pow(5,2); // เรียกฟงกช์ นั pow() โดยส่งค่า 5 เปนเลขฐาน และ 2 เปนเลข ชกี ําลัง แล้วเกบ็ ค่าไว้ทตี วั แปร $value echo $value; // พิ มพ์ ค่าจากตวั แปร $value จะได้ 25 ?> ถ้าหากเราไม่ได้นาํ ค่าทไี ดไ้ ปทําการคาํ นวณ เราสามารถแสดงค่าออกมาได้เลย โดยไม่จําเปนต้อง เกบ็ ค่าไวใ้ นตัวแปรใดๆ <?php echo pow(5,2); // พิ มพ์ คา่ 5 ยกกําลัง 2 ออกทางหนา้ จอเลย echo \"<br />\"; echo \"ผลลพั ธ์ของ 5 ยกกาํ ลงั 2 คอื \" . pow(5,2); ?> การแสดงผล
รายวชิ า การโปรแกรมเว็บเบอ้ื งตน จัดทาํ โดย นางสาววริ ยา สขี าว 2.ฟงก์ชนั ทีสร้างขึนมาเอง 136 ฟงก์ชันทีผ้ใู ช้กําหนดดว้ ย PHP นอกเหนือจากฟงก์ชนั PHP ในตวั มนั และยงั สามารถสร้างเอง ไดป้ ระโยชนจ์ ากการสรา้ งฟงกช์ นั คือ ฟงก์ชนั เปนกลมุ่ ของคาํ สงั ทีสามารถใช้ซาํ ๆ ในโปรแกรม ฟงก์ชนั จะไมท่ ํางานอตั โนมตั ิเมอื โหลดหน้าเว็บ ฟงกช์ นั จะถกู ดําเนนิ การโดยการเรียกไปยังฟงกช์ นั Syntax function functionName() { code to be executed; } <?php function ชอื ฟงก์ชัน (คา่ ทีส่งให้) { การทํางานของฟงก์ชนั ; } ในตวั อยา่ งด้านลา่ งเราสรา้ งฟงก์ชนั ชอื \"writeMsg ()\" วงเล็บปกกาเปด ({) หมายถึง จุดเริมตน้ ของฟงก์ชนั และเครืองหมายวงเล็บปกกาปด (}) หมายถึงจุดสนิ สดุ ของฟงกช์ ัน ฟงก์ชันสง่ ออก \"Hello world!\" ในการเรียกใช้ฟงก์ชันเพี ยงแคเ่ ขียนชอื ตามด้วยเครืองหมาย วงเล็บ (): ตวั อยา่ ง <?php function writeMsg() { echo \"Hello world!\"; } writeMsg(); // ขอ้ ความจะแสดงคาํ วา่ Hello world ?> 2.1 การส่งคา่ โดยตรง <?php function cArea($r) { // ฟงก์ชนั หาพืนทวี งกลม echo $r*$r * 22 / 7; } function sArea($h, $w) { // ฟงก์ชนั หาพืนทีสเี หลยี ม echo $h * $w; } cArea(15); // ผลลัพท์ 47.1428571429 echo \"<br />\"; sArea(3, 15); // ผลลพั ธ์ 45
รายวชิ า การโปรแกรมเว็บเบ้อื งตน จัดทําโดย นางสาววริ ยา สีขาว ?> 137 เราสามารถสง่ ค่าไปใหฟ้ งกช์ นั โดยใช้คา่ ทีอยู่ในตวั แปรสง่ ไปได้ด้วย <?php function sArea($h, $w) { echo $h * $w; } $width = 12; $height = 3; sArea($width, $height); ?> ถ้าหากสง่ คา่ ใหฟ้ งกช์ นั มากเกินกวา่ ทีฟงกช์ นั รับไว้ ค่าทีเกนิ มา จะไม่ถูกนําไปใชง้ าน แต่ถ้าหาก สง่ ค่าไปไม่ครบจะเกดิ ข้อผิดพลาด Warning: Missing argument 2.2 การส่งคา่ อ้างองิ ตําแหนง่ ตัวแปร โดยปกตกิ ารสง่ ค่าใหฟ้ งก์ชนั จะทําการสง่ ค่าของตวั แปรนนั ๆ เข้าไปยงั ฟงกช์ นั เลย ถ้าหาก ตอ้ งการผลลพั ธ์ของการคํานวณกท็ ําการคนื คา่ (return) กลบั มา แต่เราสามารถเขยี นให้งา่ ย กว่านนั ได้อกี โดยการสง่ ตําแหน่ง (address) ของตัวแปรนนั เขา้ ไปยงั ฟงกช์ นั แทน กส็ ามารถ ทาํ การคํานวณและเปลยี นค่าของตัวแปรทเี ราต้องการไดโ้ ดยไม่ตอ้ งทําการคนื คา่ กลับออกมา ตัวอย่าง <?php function cal_tax($cost, $tax) { $cost += $cost * $tax; } $cost = 200; $tax = 0.07; echo \"จาํ นวนเงนิ กอ่ นคํานวณภาษี \" . $cost; //จาํ นวนเงินก่อนคาํ นวณภาษี 200 echo \"<br />\"; $cost = cal_tax($cost, $tax); echo \"จาํ นวนเงนิ หลังคํานวณภาษี \" . $cost;//จํานวนเงนิ หลงั คํานวณภาษี ไมแ่ สดงคา่ ?> จะเหน็ วา่ เราสามารถเปลยี นตวั แปร $cost โดยไมต่ อ้ งทาํ การคนื ค่าในฟงกช์ นั เลย จริงๆ แลว้ ตัวอยา่ งด้านบนสามารถเขียนไดอ้ กี แบบดงั นี <?php function cal_tax($cost, $tax) {
รายวิชา การโปรแกรมเวบ็ เบอ้ื งตน จดั ทาํ โดย นางสาววริ ยา สีขาว $cost += $cost * $tax; 138 return $cost; } $cost = 200; $tax = 0.07; echo \"จํานวนเงนิ ก่อนคํานวณภาษี \" . $cost; //จาํ นวนเงนิ ก่อนคาํ นวณภาษี 200 echo \"<br />\"; $cost = cal_tax($cost, $tax); echo \"จํานวนเงนิ หลงั คาํ นวณภาษี \" . $cost;//จาํ นวนเงนิ หลงั คาํ นวณภาษี 214 ?> PHP Function Arguments อารก์ ิวเมนต์ของฟงกช์ ัน PHP ขอ้ มูลสามารถส่งผ่านไปยงั ฟงก์ชนั ผา่ นการขดั แยง้ อาร์กิวเมนต์เปนเหมือนตวั แปร อารก์ ิวเมนตจ์ ะถูกระบหุ ลงั ชอื ฟงกช์ นั ภายในวงเลบ็ คณุ สามารถ เพิมอาร์กิวเมนตไ์ ด้มากเท่าทเี ราต้องการด้วยเครอื งหมายจลุ ภาค ตัวอยา่ งตอ่ ไปนมี ฟี งกช์ นั หนึงอารก์ ิวเมนต์ ($ fname) เมอื มกี ารเรียกใช้ฟงกช์ ัน familyName () เราจะสง่ ตอ่ ชอื (เช่น Jani) และชอื จะใชภ้ ายในฟงกช์ นั ซงึ แสดงชอื แรกทีแตกตา่ งกนั หลายชอื แตม่ ีนามสกลุ เดยี วกนั : <?php การแสดงผล function familyName($fname) { echo \"$fname Refsnes.<br>\"; } familyName(\"Jani\"); familyName(\"Hege\"); familyName(\"Stale\"); familyName(\"Kai Jim\"); familyName(\"Borge\"); ?> PHP Functions - Returning values การสร้างฟงกช์ นั ขึนมาใช้งานนนั ถ้าหากไม่มกี ารสง่ ค่ากลับคนื มาเมือทาํ งานเสรจ็ ฟงก์ชนั นันก็ แทบจะไมม่ ปี ระโยชน์อะไรเลย เนืองจากไมส่ ามารถนําค่าทฟี งก์ชนั คํานวณไดก้ ลับมาใชง้ าน การ คนื คา่ ของฟงก์ชนั สามารถทําไดโ้ ดยใช้คาํ สงั return โดยสามารถคนื ค่าจากผลลัพธก์ าร
รายวชิ า การโปรแกรมเวบ็ เบอ้ื งตน จดั ทาํ โดย นางสาววิรยา สีขาว คํานวณได้หนึงค่า หรือถา้ ต้องการคนื หลายๆ ค่าพร้อมกัน สามารถใชต้ วั แปรแบบ array หรือ 139 list กไ็ ด้ เพือใหฟ้ งกช์ ันคืนค่าใช้คําสงั return: <?php การแสดงผล function sum(int $x, int $y) { $z = $x + $y; return $z; } echo \"5 + 10 = \" . sum(5,10) . \"<br>\"; echo \"7 + 13 = \" . sum(7,13) . \"<br>\"; echo \"2 + 4 = \" . sum(2,4); ?> PHP Arithmetic Operators ตัวดาํ เนนิ การทางคณติ ศาสตร์ของ PHP ใชก้ ับค่าตวั เลขเพือดาํ เนนิ การทางคณติ ศาสตร์ทวั ไป เชน่ การบวกการลบการคณู และอืน ๆ Operator Name Example Result + Addition $x + $y ผลรวม $x และ $y - Subtraction $x - $y ผลลบของ $x และ $y * Multiplication $x * $y ผลคณู ของ $x และ $y / Division $x / $y ผลการหาร $x และ $y % Modulus $x % $y ผลหารเอาเศษ $ x หารดว้ ย $ y ** Exponentiation $x ** $y ผลของการนาํ ค่า $x ยกกาํ ลังดว้ ย $y PHP Assignment Operators ตัวดําเนินการกําหนดค่า PHP ใช้กับค่าตัวเลขเพื อเขียนค่าลงในตัวแปร ผู้ประกอบการทีได้รับ มอบหมายขนั พืนฐานใน PHP คอื \"=\" หมายความว่าตัวถูกดําเนินการด้านซ้ายได้รับการตังค่าให้ เปนคา่ ของนพิ จน์การมอบหมายทางดา้ นขวา Assignment Same as... Description x=y x=y กาํ หนดคา่ x ให้เท่ากับ ค่า y x += y x=x+y กําหนดค่า x ให้บวกเพิมคา่ y x -= y x=x-y กาํ หนดคา่ x ใหล้ บคา่ y x *= y x=x*y กาํ หนดค่า x ใหน้ าํ ไปคณู กับคา่ y x /= y x=x/y กาํ หนดค่า x ให้หารด้วยคา่ y x %= y x=x%y กาํ หนดค่า x ใหห้ ารเอาเศษด้วยค่า y PHP Comparison Operators
รายวิชา การโปรแกรมเวบ็ เบอ้ื งตน จดั ทําโดย นางสาววิรยา สขี าว ตัวดําเนินการเปรยี บเทียบ PHP ใช้เพือเปรยี บเทยี บสองคา่ (ตวั เลขหรอื สตริง) ภาษา จะ เปรยี บเทียบตัวซ้าย เทียบกบั ตัวขวา และได้ผลลพั ธ์เปน จรงิ (true) หรือ เทจ็ (false) เท่านัน: 140 Operator Name Example Result == เท่ากนั $x == $y คืนคา่ เปนจรงิ ถ้า $x เทา่ กับ $y === เหมอื นกัน $x === $y คืนค่าเปนจรงิ ถ้า $x เทา่ กบั $y และ ตอ้ งเปนชนดิ ขอ้ มลู เดยี วกนั != ไม่เท่ากัน $x != $y คนื ค่าเปนจรงิ ถา้ $x ไม่เท่ากบั $y <> ไม่เท่ากัน $x <> $y คนื ค่าเปนจริง ถ้า $x ไม่เทา่ กบั $y !== ไม่เหมอื นกัน $x !== $y คืนคา่ เปนจรงิ ถ้า $x ไม่เท่ากับ $y และ ตอ้ งเปนไม่เปนชนิดข้อมลู เดยี วกนั > มากกวา่ $x > $y คืนค่าเปนจรงิ ถ้า $x มากกว่า $y < นอ้ ยกวา่ $x < $y คนื คา่ เปนจรงิ ถา้ $x น้อยกวา่ $y >= มากกว่า หรอื เทา่ กับ $x >= $y คนื ค่าเปนจรงิ ถ้า $x มากกวา่ หรือ เท่ากับ $y <= นอ้ ยกวา่ หรือ เทา่ กับ $x <= $y คืนค่าเปนจริง ถ้า $x นอ้ ยกว่า หรอื เทา่ กับ $y <=> Spaceship $x <=> $y สง่ คืนจาํ นวนเตม็ ทนี อ้ ยกวา่ เทา่ กบั หรือ มากกว่าศูนยข์ นึ อยู่กับวา่ $ x นอ้ ยกว่า เทา่ กับหรอื มากกว่า $ y เปดตัวใน PHP 7 PHP Increment / Decrement Operators ตวั ดาํ เนนิ การเพิมคา่ PHP ใชเ้ พือเพิมค่าของตวั แปร และตัวดําเนินการลดค่า PHP ใชเ้ พือลดค่า ของตวั แปร Operator Name Description ++$x Pre-increment เพิม $ x ทีละหนงึ แลว้ ส่งคืน $ x $x++ Post-increment ส่งคืน $ x จากนนั เพิม $ x ทลี ะหนงึ --$x Pre-decrement ลด $ x หนึงแลว้ สง่ กลบั $ x $x-- Post-decrement สง่ คืน $ x จากนนั ลดลง $ x หนึงรายการ PHP Logical Operators ตวั ดําเนินการตรรกะ PHP ถูกใช้เพือรวมคาํ สงั แบบมีเงือนไข Operator Name Example Result and And $x and $y เปนจรงิ ถา้ ทัง $ x และ $ y เปนจริง or Or $x or $y เปนจรงิ ถ้า $ x หรอื $ y เปนจรงิ xor Xor $x xor $y เปนจริงถ้า $ x หรอื $ y เปนจริง แต่ไมใ่ ช่ทงั คู่ && And $x && $y เปนจรงิ ถ้าทัง $ x และ $ y เปนจรงิ || Or $x || $y เปนจรงิ ถา้ $ x หรอื $ y เปนจริง ! Not !$x เปนจรงิ ถ้า $ x เปนเทจ็ กลบั ค่า จากจรงิ เปนเทจ็ และ เท็จเปนจรงิ
รายวชิ า การโปรแกรมเว็บเบอื้ งตน จดั ทําโดย นางสาววริ ยา สขี าว PHP Constants 141 ชอื คา่ คงทที ีถูกตอ้ งเรมิ ตน้ ดว้ ยตวั อกั ษรหรือขีดล่าง (ไมม่ ีเครอื งหมาย $ กอ่ นชอื คงท)ี เปนการกําหนดค่าทีไม่สามารถเปลียนได้ในโปรแกรมแล้ว และค่านนั จะอย่ไู ปจนจบโปรแกรม ใช้ งานมากพอสมควร โดยเฉพาะการกาํ หนดค่าทีเรารแู้ น่นอนอยแู่ ล้ว เชน่ PI ค่าคงทสี ามารถในการ สรา้ งคา่ คงทีใหใ้ ช้ฟงก์ชัน define () Syntax define(name, value, case-insensitive) name: ระบุชอื ของค่าคงที value: ระบุคา่ ของค่าคงที case-insensitive: ระบวุ ่าชอื คงทคี วรเปนแบบตัวพิ มพ์ เลก็ หรอื ใหญ่ คา่ เริมต้นเปนเท็จ ตวั อยา่ ง <?php define(\"PI\", 3.1415926); echo \"คา่ พายคอื \" . PI; // พิ มพ์ 3.1415926 ออกมา echo \"<br />\"; $cur = 3 * 3 * PI; echo \"พืนทีวงกลมรัศมี 3 หน่วย คือ \" . $cur; // ผลลพั ธ์ 28.274328 ?> ตัวอย่างที 2 <?php define(\"GREETING\", \"Welcome to PHP!\", true); echo greeting; // ผลลพั ธ์ Welcome to PHP!\", ?> PHP if...else...elseif Statements การกาํ หนดเงือนไขในการเขยี นโปรแกรม ในการทาํ งานทตี อ้ งมีการเลือก หรอื เปรยี บเทยี บคา่ กอ่ นการเลือก แลว้ จงึ ดาํ เนนิ การตามคาํ สังเมอื เปนจริงหรือเทจ็ หรือเปนการเลือกทําเมือค่าตรง กบั เงือนไขทีกาํ หนด ใน PHP มคี าํ สังแบบมเี งือนไขดังตอ่ ไปนี: if statement หากเงือนไขหนึงเปนจรงิ จะดําเนินการตามทีกาํ หนด if ... else statement หากเงือนไขหนึงเปนจริงจะดาํ เนินการตามทีกําหนดในสว่ นงานทีเปน จริง และ หากเงือนไขหนึงเปนเทจ็ จะปฏิบัตงิ านตามทกี ําหนดในส่วนงาน ทีเปนเทจ็ if ... elseif ... else – หากเงือนไขมีมากกวา่ 2 เงือนไข จะเลอื กดําเนนิ การเมือเปนจรงิ ใน เงือนไขหนึงๆ ในหลายๆเงือนไข switch statement – เลือกหนงึ ในเงือนไขทเี ปนจรงิ แลว้ ดาํ เนนิ การตามทีระบใุ นแตล่ ะเงือนไข
รายวิชา การโปรแกรมเวบ็ เบอ้ื งตน จัดทําโดย นางสาววริ ยา สีขาว PHP - The if Statement 142 คําสงั if แบบเงือนไขเดียว จะทํางานกต็ ่อเมอื เงือนไขเปนจรงิ เทา่ นัน รปู แบบการเขียนคือ <?php if (เงือนไข) { // ทาํ งานในส่วนนีเมอื เงอื นไขเปนจรงิ } ?> ตัวอย่าง <?php date_default_timezone_set('Asia/Bangkok'); //Set ว/ด/ป เวลา ใหเ้ ปนของประเทศไทย $t = date(\"H\"); if ($t < \"20\") { echo \"Have a good day!\"; ถ้ายงั ไมถ่ งึ เวลา 20.00 น. จะแสดง Have a good day! } // คําสงั นีดู ?> PHP - The if...else Statement แบบสองเงือนไข เมอื เงอื นไขเปนจรงิ จะทํางานในส่วน if แต่ถา้ เงอื นไขเปนเท็จจะทํางานในสว่ น else Syntax <?php if (เงือนไข) { การดําเนนิ การเมอื เงอื นไขเปนจริง; } else { การดําเนินการเมอื เงอื นไขเปนเทจ็ ; } ?> ตัวอยา่ ง <?php date_default_timezone_set('Asia/Bangkok'); //Set ว/ด/ป เวลา ใหเ้ ปนของประเทศไทย $t = date(\"H\"); if ($t < \"20\") {
รายวชิ า การโปรแกรมเวบ็ เบ้ืองตน จดั ทาํ โดย นางสาววริ ยา สขี าว echo \"Have a good day!\"; // ถา้ ยังไมถ่ งึ เวลา 20.00 น. จะแสดง Have a good 143 day! } else { echo \"Have a good night!\"; // ถ้ายังถึงเวลา 20.00 น. เปนตน้ ไปจะแสดง Have a good night! } ?> ตวั อย่างการคํานวณหาส่วนลดถ้าซอื สนิ คา้ 500บาทขนึ ไป ลดราคา20% ถา้ ซอื น้อยกว่า 500 บาทลดราคา 10% <? $price=1000; $discount=0; if ($price > 500) { $discount=$price*0.20; } else { $discount=$price*0.10; } $netprice=$price-$discount; echo \"ราคาสินค้า= $price<BR>\\n\"; echo \"สว่ นลด = $discount<BR>\\n\"; echo \"ราคาสทุ ธิ= $netprice<BR>\\n\"; ?> PHP - The if...elseif...else Statement หากเงือนไขมมี ากกว่า 2 เงือนไข จะเลือกดาํ เนนิ การเมือเปนจรงิ ใน เงือนไขหนึงๆ ในหลายๆเงือนไข Syntax if (เงือนไข) { การดาํ เนินการเมอื เงอื นไขเปนจรงิ ; } elseif (เงือนไข) { การดาํ เนนิ การเมอื เงอื นไขเปนเทจ็ และเปนจรงิ ทีเงือนไขนี; } else { การดาํ เนนิ การเมอื เงอื นไขเปนเท็จในทุกเงือนไขทผี า่ นมา; } <?php
รายวชิ า การโปรแกรมเวบ็ เบอ้ื งตน จัดทาํ โดย นางสาววริ ยา สขี าว date_default_timezone_set('Asia/Bangkok'); //Set ว/ด/ป เวลา ให้เปนของประเทศ 144 ไทย $t = date(\"H\"); if ($t < \"10\") { echo \"Have a good morning!\"; // ถา้ เวลายงั ไมถ่ ึง 10.00 น. จะแสดง Have a good morning! } elseif ($t < \"20\") { echo \"Have a good day!\"; // ถา้ ยงั ไม่ถึงเวลา 20.00 น. จะแสดง Have a good day! } else { echo \"Have a good night!\"; // ถ้ายงั ถึงเวลา 20.00 น. เปนตน้ ไปจะแสดง Have a good night! } ?> ตวั อยา่ ง การแสดงผลการเรียน(Grade)จากคะแนนทีได้ (Score) <?php $score = 79; if ($score > 80) { echo \"Grade= A\"; } elseif ($score > 70) { echo \"Grade =B\"; } elseif ($score > 60) { echo \"Grade =C\"; } elseif ($score > 50) { echo \"Grade =D\"; } else { echo \"Grade= F\"; } ?>
รายวชิ า การโปรแกรมเวบ็ เบือ้ งตน จัดทําโดย นางสาววริ ยา สีขาว PHP switch Statement คําสงั switch ใช้เพือดาํ เนนิ การต่าง ๆ ตามเงือนไขทแี ตกตา่ งกัน ใชค้ ําสงั switch เพือเลอื ก 145 หนึงในบลอ็ คของโค้ดทีจะดําเนนิ การ ไมเ่ ชงิ เปนเงอื นไข เนอื งจากตอ้ งมกี ารกําหนดคา่ ทีแนน่ อน ของตวั เลอื ก ไมเ่ หมอื นกบั if ทีสามารถกําหนดเปนช่วง หรอื เปนการคํานวณได้ Syntax switch (n) { case label1: โค๊ดการดาํ เนนิ การถา้ n=label1; break; case label2: โค๊ดการดาํ เนนิ การถ้า n=label2; break; case label3: โค๊ดการดาํ เนนิ การถา้ n=label3; break; ... default: โคด๊ การดําเนนิ การถา้ n ไม่ตรงกบั Labels ใดๆทีกําหนด; } ตัวอย่าง <?php $favcolor = \"red\"; switch ($favcolor) { case \"red\": echo \"Your favorite color is red!\"; break; case \"blue\": echo \"Your favorite color is blue!\"; break; case \"green\": echo \"Your favorite color is green!\"; break; default: echo \"Your favorite color is neither red, blue, nor green!\"; } ?>
รายวชิ า การโปรแกรมเว็บเบ้อื งตน จดั ทาํ โดย นางสาววริ ยา สขี าว PHP Loops 146 ภาษา PHP มคี าํ สังในการวนซาํ ดงั น:ี while - ในขณะที - วนซาํ บล็อกของโค๊ตตราบใดทเี งือนไขทีระบุเปนจริง do...while - ทํา ... ในขณะที - วนลูปผา่ นบลอ็ กของโคต๊ หนึงครังแล้ววนซาํ ตราบใดทีเงือนไขที ระบเุ ปนจรงิ for - วนรอบบลอ็ กของโคต๊ ตามจํานวนครงั ทีระบุ foreach - วนลูปผา่ นบลอ็ กของโคต๊ สําหรบั แตล่ ะองค์ประกอบในอาร์เรย์ PHP while Loop ขณะทีลปู รนั บล็อกของโคด้ ตราบใดทีเงอื นไขทีระบเุ ปนจริง Syntax while (condition is true) { code to be executed; } ตัวอยา่ งดา้ นลา่ งแสดงตัวเลขตังแต่ 1 ถึง 5: <?php $x = 1; while($x <= 5) { echo \"The number is: $x <br>\"; $x++; } ?> อธิบาย $x = 1; - กําหนดคา่ ใหต้ วั แปร $x และตงั คา่ เริมตน้ เปน 1 $x <= 5 - วนรอบต่อไปตราบใดที $x นอ้ ยกวา่ หรอื เทา่ กบั 5 $x ++; - เพิมค่าตวั นบั ลปู ทลี ะ 1 สําหรบั แต่ละการวนซํา <?php $x = 0; while($x <= 100) { echo \"The number is: $x <br>\"; $x+=10; } ?>
รายวชิ า การโปรแกรมเวบ็ เบ้ืองตน จดั ทาํ โดย นางสาววริ ยา สีขาว PHP do while Loop do ... while loop – วนซาํ บลอ็ กของโค้ดหนึงครงั จากนนั วนซําตราบใดทีเงือนไขทีระบุเปนจริง 147 ทาํ ... ในขณะทีวงจะดาํ เนนิ การบล็อกของโคต๊ ครงั เดยี วกจ็ ะตรวจสอบเงอื นไขและทาํ ซาํ วงใน ขณะทีเงือนไขทีระบเุ ปนจริง ตัวอยา่ งด้านล่างกอ่ นตงั ตัวแปร $ x เปน 1 ($ x = 1) จากนนั การทาํ ขณะทีลปู จะเขียนเอาตพ์ ุ ต บางส่วนจากนันเพิมตัวแปร $x ดว้ ย 1 จากนนั ตรวจสอบเงอื นไข (คอื $x น้อยกวา่ หรือเทา่ กบั 5?) และลูปจะทาํ งานตอ่ ไปตราบใดที $x น้อยกวา่ หรอื เทา่ กับ 5: <?php $x = 1; do { echo \"The number is: $x <br>\"; $x++; } while ($x <= 5); ?> ใน do ... ในขณะทีลูปเงือนไขถกู ทดสอบหลังจากดาํ เนินการคาํ สงั ภายในลูป ซงึ หมายความว่า do ... ในขณะทีลูปจะดําเนนิ การคาํ สังอย่างน้อยหนงึ ครังแมว้ า่ เงือนไขเปนเทจ็ ดตู วั อยา่ ง ด้านล่าง ตัวอยา่ ง <?php $x = 6; do { echo \"The number is: $x <br>\"; $x++; } while ($x <= 5); ?> PHP for Loop For คือ วนรอบบล็อกของโค๊ตตามจาํ นวนครงั ทีระบุ for ใชเ้ มอื รจู้ าํ นวนรอบทแี นน่ อนในการรัน สครปิ ต์ Syntax for (init counter; test counter; increment counter) { โคต๊ ทีจะดําเนนิ การสาํ หรบั การทําซาํ แตล่ ะครัง; } init counter : เริมตน้ คา่ ตวั นบั ลูป test counter: ประเมนิ ผลสําหรบั การวนซาํ แตล่ ะครงั ถ้าประเมินเปน TRUE การวนซาํ จะดาํ เนนิ ต่อไป ถา้ ประเมนิ เปน FALSE ลูปจะสนิ สุดลง increment counter: เพิมคา่ ตวั นบั ลูป
รายวิชา การโปรแกรมเวบ็ เบอ้ื งตน จดั ทาํ โดย นางสาววริ ยา สขี าว ตัวอยา่ ง 148 <?php for ($x = 0; $x <= 10; $x++) { echo \"The number is: $x <br>\"; } ?> $ x = 0; - เตรยี มใช้งานตวั นบั ลูป ($ x) และตงั คา่ เริมตน้ เปน 0 $ x <= 10; - วนรอบตอ่ ไปตราบใดที $ x นอ้ ยกวา่ หรือเท่ากบั 10 $ x ++ - เพิมคา่ ตัวนบั ลปู โดย 1 สําหรบั การวนซาํ แตล่ ะครัง PHP foreach Loop foreach loop – วนลปู ผา่ นบลอ็ กของโคต๊ สําหรบั แต่ละองค์ประกอบในอารเ์ รย์ foreach loop ทาํ งานบนอารเ์ รย์เทา่ นันและใช้เพือวนรอบคยี ์ / ค่าแตล่ ะคูใ่ นอาร์เรย์ Syntax foreach ($array as $value) { code to be executed; } ตัวอย่างตอ่ ไปนีจะสง่ ออกคา่ ของอารเ์ รย์ทกี าํ หนด ($colours): <?php $colors = array(\"red\", \"green\", \"blue\", \"yellow\"); foreach ($colors as $value) { echo \"$value <br>\"; } ?> ตัวอยา่ งต่อไปนีจะแสดงผลทงั คยี ์และค่าของอารเ์ รยท์ กี ําหนด ($ age): <?php $age = array(\"Peter\"=>\"35\", \"Ben\"=>\"37\", \"Joe\"=>\"43\"); foreach($age as $x => $val) { echo \"$x = $val<br>\"; } ?> PHP Date and Time ฟงก์ชัน date () ใชเ้ พือจัดรูปแบบวันทแี ละ / หรอื เวลา Syntax date(format,timestamp)
รายวชิ า การโปรแกรมเว็บเบ้ืองตน จดั ทําโดย นางสาววริ ยา สีขาว Parameter Description 149 format รูปแบบทจี าํ เปน ระบรุ ปู แบบของการเวลา timestamp คา่ เริมต้นคือวันทแี ละเวลาปจจุบนั ไมจ่ ําเปนต้องระบกุ ็ได้ Get a Dateพารามิเตอรร์ ูปแบบทตี ้องการของฟงกช์ นั date () ระบวุ ธิ ีจัดรูปแบบวนั ที (หรอื เวลา)ตอ่ ไปนเี ปนอกั ขระบางตวั ทีใช้กันโดยทวั ไปสาํ หรับวันที: d - แสดงวนั ของเดือน (01 ถงึ 31) m - แสดงถงึ เดือน (01 ถงึ 12) Y - หมายถึงป (ตัวเลขสหี ลกั ) l (ตวั พิ มพ์เล็ก 'L') - แสดงถึงวนั ในสปั ดาห์ สามารถแทรกอักขระอนื ๆ เชน่ \"/\", \".\" หรอื \"-\" ระหว่างอกั ขระเพือเพิมการจัดรูปแบบเพิมเติม ตวั อย่างดา้ นลา่ งจดั รปู แบบวันทีวันนีดว้ ยสามวธิ ี: <?php echo \"Today is \" . date(\"Y/m/d\") . \"<br>\"; echo \"Today is \" . date(\"Y.m.d\") . \"<br>\"; echo \"Today is \" . date(\"Y-m-d\") . \"<br>\"; echo \"Today is \" . date(\"l\"); ?> Get a Time นีคือตวั อักษรดา้ นเวลาบางตวั ทใี ชบ้ ่อยครงั : H - รปู แบบ 24 ชวั โมงชวั โมง (00 ถึง 23) h - รูปแบบ 12 ชวั โมงต่อชวั โมงโดยมีศูนย์นาํ หนา้ (01 ถงึ 12) i - นาทที มี ีศนู ย์นาํ หนา้ (00 ถึง 59) s - วนิ าทที ีมีศูนย์นําหนา้ (00 ถึง 59) a - ตวั พิ มพ์ เลก็ Ante meridiem และ Post meridiem (am หรือ pm) ตัวอยา่ งด้านลา่ งแสดงเวลาปจจุบันในรปู แบบทีระบ:ุ <?php echo \"The time is \" . date(\"h:i:sa\"); ?> Get Your Time Zone หากเวลาทคี ณุ ได้รับจากโค๊ตไมถ่ ูกต้องอาจเปนเพราะเซริ ์ฟเวอร์ของ คณุ อยูใ่ นประเทศอนื หรือตงั ค่าสาํ หรับเขตเวลาอืน ดังนันหากคณุ ตอ้ งการเวลาทถี กู ต้องตาม ตําแหน่งเฉพาะคณุ สามารถตงั ค่าเขตเวลาทคี ุณตอ้ งการใช้ ตวั อย่างด้านล่างตงั คา่ เขตเวลาเปน date_default_timezone_set('Asia/Bangkok'); จากนนั แสดงเวลาปจจุบนั ในรูปแบบที ระบ:ุ <?php date_default_timezone_set('Asia/Bangkok'); echo \"The time is \" . date(\"h:i:sa\"); ?>
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149