<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3772129005572434612</atom:id><lastBuildDate>Sat, 14 Sep 2024 17:31:31 +0000</lastBuildDate><category>PHP Scripts</category><category>plawan</category><category>Program</category><category>bazaar</category><category>flash</category><category>flex</category><category>ruby</category><title>Meeja Dev Blog</title><description>My Memories</description><link>http://casnoboy-meeja.blogspot.com/</link><managingEditor>noreply@blogger.com (meeja)</managingEditor><generator>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-1730905415090837682</guid><pubDate>Mon, 28 Dec 2009 08:04:00 +0000</pubDate><atom:updated>2009-12-28T00:04:45.229-08:00</atom:updated><title>ทวดาประจำตัว เทพพรหม องค์ใน ญาณบารมี คนทรงเจ้า คนมีองค์ คืออะไรกันแน่?</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;span style=&#39;font-size: 15pt; line-height: 1.3em;&#39;/&gt;&lt;span style=&#39;font-size: 13pt; line-height: 1.3em;&#39;&gt;ยาก นักที่จะได้เกิดเป็นคน คนนั้นเป็นสัตว์ประเสริฐที่เกิดได้ยากยิ่ง คนเราทุกคนจึงมีค่ามาก เราเกิดมาหลายชาติภพ บางภพไม่ใช่ภพมนุษย์ เช่น ภพนรก ไม่สามารถบำเพ็ญเพียรภาวนาได้ บางภพเช่นภพสวรรค์ เห็นความสวยงามไม่ค่อยเห็นอนิจจัง จึงยากนักที่จะละคลายกิเลส บางชาติ เกิดเป็นสัตว์บำเพ็ญไม่ได้ บางชาติเป็นตาบอด อ่านหนังสือไม่ได้ บางชาติ ไม่มีศาสนาสอนมนุษย์ จึงไม่เข้าใจธรรม ดังนั้น ได้เกิดเป็นคนปกติ มีพระพุทธศาสนาจึงยากยิ่งแล้ว ดังนั้น ระบบการดูแลสามภพ จึงจัดให้คนนั้นต้องได้รับการดูแลเป็นพิเศษจากเทวดาบนสวรรค์ แตกต่างจากสัตว์ชนิดอื่นๆ เช่น สัตว์นรก ได้รับการลงโทษแทนการดูแล สัตว์เดรัจฉาน ได้รับการปล่อยไปตามยถากรรม ให้กินกันเอง ชดใช้กรรมกันเอง เพื่อบรรเทากรรมที่มีต่อกันให้เบาบางก่อนมาเกิดเป็นคน เมื่อได้มาเกิดเป็นคนแล้ว จึงจะมี “เทวดาประจำตัว” เพื่อคอยดูแล และเทวดาประจำตัวเหล่านี้ จะมีจำนวนมากกว่ามนุษย์ (เพราะมนุษย์เกิดได้ยาก จึงมีจำนวนน้อย) เทวดาประจำตัวจึงต้องมีเวรผลัดเปลี่ยนหมุนเวียนกันมาบำเพ็ญบุญบารมี โดยมีพระอินทร์ เป็นผู้จัดสรรที่สำคัญที่สุด ให้เทวดาในชั้นดาวดึงส์ (สวรรค์ชั้นที่สอง) ซึ่งเป็นบริวารของท่านลงมาทำกิจ ในขณะที่ท้าวจตุโลกบาล ซึ่งปกครองสวรรค์ชั้นที่หนึ่ง ซึ่งอยู่ติดกับพื้นโลก จะไม่ได้รับผิดชอบเรื่องเทวดาประจำตัว เพราะท่านจะดูแลพื้นที่เขตต่างๆ ทั้งดินน้ำและอากาศของโลก ในรูปของการดูแลจัดการเจ้าที่ เจ้าทาง เจ้าป่า เจ้าเขาแทน ซึ่งเป็นการปกป้องคุ้มครองด้วยการอ้างอิงตามอาณาเขต ไม่เกี่ยวกับตัวบุคคล นับเป็นคนละกิจกัน เทวดาประจำตัว จะมาตั้งแต่ตอนจุติ เพราะต้องคอยระวังปกป้องไม่ให้เจ้ากรรมนายเวรรบกวนทำลาย จิตที่จุติฟักตัวในรูปตัวอ่อนในท้องแม่ เพราะง่ายต่อการตายมาก ถ้าเทวดาประจำตัวทำงานได้ดี การตายในท้อง แล้วจุติใหม่ซ้ำๆ ก็จะไม่เกิดขึ้น จวบจนกระทั่งถึงวาระสิ้นอายุขัย เทวดาประจำตัวก็จะออกไป เปิดโอกาสให้ยมทูตหรือเทวทูตมารับตัวแทน ซึ่งจะเป็นเทวดาอีกชุดหนึ่ง คนละชุดงานกัน ลงมาทำหน้าที่รับช่วงต่อนี้ &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;เมื่อ คนเกิดมา พระอินทร์จะจัดเวรเทวดาชั้นดาวดึงส์มาดูแลเรา เช่น ที่เรียกว่า แม่ซื้อ ฯลฯ โดยนำเทวดาที่มีกรรมเกี่ยวข้องกับเรามาดูแลเรา จะไม่สะเปะสะปะสับสน ไม่สุ่มมั่วซั่ว เพราะการที่คนที่ไม่มีบุญกรรมต่อกัน มาสร้างบุญกรรมกันระหว่างชาติภพนี้ จะก่อให้เกิดกรรมใหม่ๆ ที่ต้องไปชดใช้กันยุ่งเหยิงมากขึ้น ส่งผลให้การบรรลุธรรมนั้น ต้องมีชาติภพยืดยาวออกไป เพราะต้องใช้ชดใช้เวรกรรมกันให้หมดนั่นเอง ดังนั้น เทวดาประจำตัวเราจึงมาจากคนที่เคยช่วยเหลือจุนเจือ มีบุญสัมพันธ์กับเรามาทั้งสิ้น ตามแต่วาระที่พระอินทร์จะจัดสรรลงมา ได้แก่ พ่อแม่ปูย่าตายายของเราที่ตายไปแล้วจุติบนสวรรค์ชั้นดาวดึงส์ทั้งหลายนั่น เอง ทั้งนี้ โปรดเข้าใจว่าเทวดาชั้นยามา จะไม่มาทำกิจนี้มากนัก เพราะส่วนใหญ่จะปฏิบัติธรรมภาวนากันมาก ไม่ค่อยยุ่งกันเรื่องทางโลกเหมือนเทวดาชั้นที่สอง ส่วนเทวดาชั้นที่สี่สูงขึ้นไป คือ ดุสิต ก็จะไม่มาทำกิจเล็กๆ น้อยๆ นัก การที่ลงมาดูแลคนเป็นคนๆ จึงไม่ควรเป็นกิจของพระโพธิสัตว์แห่งดุสิตสวรรค์ เพราะท่านจะรับกิจภาพกว้างมากกว่านั้น เอื้อต่อสรรพสัตว์จำนวนมาก คราวละมากๆ มากกว่านั้น ในขณะที่ชั้นสูงบกว่าดุสิตขึ้นไป จะไม่สนใจมาช่วยเหลือมนุษย์นัก อันได้แก่ ชั้นนิมารดี และปรนิมมิตวสวัตตี ทั้งสองชั้นนี้ เป็นชั้นของมาร ที่มีแต่เห็นแก่ตัวเป็นสำคัญ &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ดัง นั้น ทุกคนจึงมีเทวดาดูแลประจำอยู่แล้วทั้งสิ้น แต่จะไม่เรียกว่ามี “องค์ใน” บุคคลที่จะถูกเรียกว่า “มีองค์” หรือมีเทพชั้นสูงๆ มาดูแล ก็ต่อเมื่อเขาถึงวาระแห่งการบำเพ็ญเพียรภาวนาแล้ว เบื้องบนก็จะส่งเทพพรหมที่มีฤทธิ์มาก แตกต่างกันลงมาคุ้มครองดูแล และทำกิจมากกว่าเทวดาประจำตัว เพราะมีอิทธิฤทธิ์ส่งผลต่อชีวิตของคนมีองค์ได้มาก และเทพพรหมเหล่านี้ จะมี “กิจเฉพาะ” ที่ได้รับจากเบื้องบนลงมากระทำต่อบุคคลนั้นๆ ดังนั้น จึงมีผลให้วิถีชีวิตต้องเปลี่ยนไปอย่างมากนั่นเอง นี่เป็นสาเหตุว่าทำไม จู่ๆ วิถีชีวิตเกิดเปลี่ยนแปลงอย่างมากมายระทันหันในระยะเวลาสั้นๆ และถูกทักว่า “มีองค์ใน”&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;เทพ พรหม ฯลฯ ที่ลงมาทำหน้าที่เกี่ยวข้องกับผู้คนนั้น มีกิจเฉพาะหลากหลายมาก ดังที่ได้เกริ่นมาว่าแต่ละองค์มีฤทธิ์และกิจเฉพาะที่รับมาจากเบื้องบนต่าง กันไป ในบรรดาเทพพรหมที่ลงมาทำกิจเหล่านี้ สามารถจำแนกได้ออกเป็นสามกลุ่ม คือ&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;๑) กลุ่มสมณเทพ&lt;/b&gt;&lt;br/&gt;คือ กลุ่มที่มีเทพสองประเภทลงคุ้มครองดูแลหรือทำกิจ ได้แก่ กลุ่มพระสมณะ (เทพที่มีลักษณะเป็นพระตัดกามไร้เพศบำเพ็ญภาวนาทางพุทธะ) และกลุ่มเทพพรหม หรือเทพที่มีฤทธิ์ต่างๆ แต่ไม่ได้ละเพศ ยังมีกามกิเลสตามปกติ กลุ่มคนที่จัดว่ามีองค์ในแบบ “สมณเทพ” นี้ จะถือว่ามีทั้งสองแบบ ดังนั้น จะสามารถล่วงรู้ด้วยญาณของตนได้ว่า ผู้ใดมีองค์ในแบบเทพพรหม และผู้ใดมีองค์ในแบบสมณะดูแลอยู่ สามารถบริหารจัดการคนที่มีองค์ได้ทั้งสองแบบ ซึ่งกลุ่มนี้มีจำนวนน้อย และมีแนวทางในการบำเพ็ญภาวนาที่แตกต่างกัน &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;๒) กลุ่มพระสมณะ&lt;/b&gt;&lt;br/&gt;คือ กลุ่มที่มีเทพประเภทพระสงฆ์ ผู้ตัดกาม ละเพศ บำเพ็ญภาวนาจิตเพื่อพุทธะเพียงอย่างเดียวคอยดูแลคุ้มครองปกป้อง หรือสอนธรรม หรือเปลี่ยนวิถีชีวิตอยู่ กลุ่มนี้ หากได้รับการคุ้มครองก็จะพบปาฏิหาริย์ เช่น รอดตายหวุดหวิด หากได้รับการสอนธรรม ก็อาจได้เห็นนิมิตที่แฝงปริศนาธรรม หรือได้ยินเสียงทิพย์ หากกำลังถูกปรับเปลี่ยนวิถีชีวิตก็จะถูกบีบเค้นอย่างหนักให้เข้าสู่ทางธรรม แต่ฝ่ายเดียว ไม่มีเส้นทางอื่นให้เลือกเลย สำหรับคนที่มีองค์ในแบบสมณะเหมือนกัน มักมองกันก็เข้าใจ คุยกันง่าย เข้าใจกันง่าย ในกลุ่มนี้ มักเป็นผู้นิยมเข้าวัดประจำๆ และนับถือพระมาก เช่น องค์ในเป็นหลวงปู่ทวด &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;๓) กลุ่มเทพพรหม&lt;/b&gt;&lt;br/&gt;คือ กลุ่มที่มีเทพประเภท มหาเทพฮินดู, พรหม, เทพจีน ฯลฯ ผู้ยังมีกาม มีเพศอยู่มาคอยดูแลคุ้มครองปกป้อง หรือช่วยการงาน หรือเปลี่ยนวิถีชีวิตอยู่ แต่ปกติ จะไม่มีหน้าที่สอนธรรมะ ยกเว้นบางองค์ที่มีปางอวตารเป็นโพธิสัตว์ เช่น องค์ศิวะ, องค์อุมา (บางปางก็คือพระกวนอิม) เป็นต้น หากมีองค์ที่มีปางอวตารแบบนี้ จะมีการสอนธรรมได้ แต่หากไม่มีก็จะไม่สามารถสอนธรรมได้ จะบำเพ็ญเพียรช่วยเหลือคนในด้านอื่นๆ เช่น ช่วยในมูลนิธิต่างๆ ส่วนใหญ่คนเหล่านี้ มักได้รับการช่วยเหลือแบบพิเศษจากเทพพรหมก่อน แต่หากไม่ทำความดีเลย สุดท้าย เทพพรหมจะถูกเรียกกลับ แล้วปล่อยทิ้งให้ร่างนั้น ถูกเจ้ากรรมนายเวรและภูตผีต่ำช้าอื่นๆ รุมทึ้งเอาแทน ดังนั้น หลายท่านจึงมักบอกว่าอย่าไปรับขันธ์ อย่าเป็นร่างทรง ด้วยเหตุนี้ แท้แล้วการรับขันธ์ไม่ใช่การเป็นร่างทรง ส่วนบุคคลที่เป็นร่างทรงนั้น คือ “อาชีพ” อุปมาเหมือนพระ ที่ไม่มีอาชีพ แต่หากทำตัวเรียกเก็บเงินค่าช่วยเหลือผู้อื่น ก็กลายเป็นอาชีพไป คนที่รับขันธ์ ไม่ควรเป็นร่างทรง แต่ควรบำเพ็ญบารมีช่วยเหลือคนไป โดยไม่สนใจเรื่องเงินและอาชีพ แล้วสุดท้ายจะดีเอง&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;๔) กลุ่มนอกรีต&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;คือ กลุ่มสุดท้ายที่เข้ามาครอบงำจิตของคน หลังจากที่ร่างเปิดรับจิตวิญญาณอื่นแล้ว จะปิดได้ยาก หรือปิดเองไม่ได้ เมื่อหลงทะนงตนเย่อหยิ่ง มักจะถูกทอดทิ้งจากเทพพรหมองค์ก่อน เพราะพฤติกรรมที่ตกต่ำเป็นเหตุให้เทพชั้นสูงๆ ไม่สามารถมาช่วยได้ เมื่อท่าจากไป บรรดาเจ้ากรรมนาย&lt;br/&gt;เวร สัมภเวสี เปรต สัตว์นรก ฯลฯ ก็มาเข้าร่างแทน ซึ่งยังผลให้ชีวิตพบกับความวิบัติหายนะในที่สุด เหล่านี้ รวมเรียกว่า “จิตวิญญาณนอกรีต” เพราะไม่ได้อยู่ในการดูแลบริหารจัดการของเบื้องบน แต่เกิดจากการ “ลักลอบ” หนีจากนรก แล้วมาสิงสู่อาศัยร่วมกับคนเท่านั้นเอง ซึ่งบางท่านถึงกับต้องกลายเป็นปอบ &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;คำว่า “ญาณบารมี” ก็เกิดจากการสัมผัส คนมีองค์ต่างๆ นี่เอง เพื่อดูว่าแต่ละท่านมีองค์ใดช่วยอยู่ ในที่นี้ของให้เข้าใจว่า องค์เทพใหญ่ๆ จะไม่ลงมาทั้งองค์ แต่จะแบ่งส่วนบารมีท่านลงมา เรียกว่า “ญาณบารมี” ดังนั้น จึงไม่ต้องแปลกใจว่าทำไมจึงพบคนที่มีองค์เหมือนกันหลายคน เพราะเป็นการแบ่งญาณบารมีของเทพใหญ่ๆ มาช่วยคนพร้อมกันจำนวนมากๆ เท่านั้นเอง ในการบำเพ็ญให้จิตเป็นหนึ่งเดียวกับเทพเหล่านี้ ให้ระลึกเสมอว่าเราคือท่าน ท่านคือเรา จึงจะราบเรียบ ไม่เกิดการยื้อดึงของร่าง การสั่นของร่าง อย่างที่เราเห็น “คนทรง” เป็นกัน คนที่บำเพ็ญถูกต้องแบบพราหมณ์ฮินดู คือ เข้าใจว่าเราเหมือนอาตมัน เทพเหมือนปรมาตมัน ก็จะหลอมรวมทั้งสองเป็นหนึ่งเดียว ทำกิจได้เหมือนคนปกติ อย่างราบเรียบกลมกลืน ไม่กระตุก ไม่สั่น ไม่ใช่ร่างทรง และสามารถดึงความสามารถพิเศษที่องค์เทพนั้นๆ มีมาใช้ได้อย่างเป็นธรรมชาตินั่นเอง &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;อนึ่ง พึงเข้าใจว่า เราและจิตวิญญาณที่มาคุ้มครองเรานั้นคนละส่วนกัน แต่จิตวิญญาณที่มาคุ้มครองเรานั้น มักพูดเสมอว่า เราคือท่าน และท่านคือเรา เพื่อให้เราหลอมรวมแนบสนิทเป็นหนึ่งเดียวกับองค์ท่าน และท่านจะทำกิจได้ง่าย ไม่ขัดขืน ไม่ลังเล หรือยื้อกันไปมาระหว่างจิตสองดวง ดังนั้น หลักการบำเพ็ญของพราหมณ์ฮินดูจึงมักพูดถึงการหลอมรวมระหว่างอาตมัน และปรมาตมันด้วยเหตุนี้ เพื่อเปิดทางให้เทพเบื้องบนทำงานกับเราได้สะดวกนั่นเอง และเราก็จะดึงพลังของเทพที่ท่านมีอยู่ ที่เบื้องบนประทานมาให้นี้ นำมาใช้ในการดำเนินชีวิต ประกอบกิจการงานต่างๆ ได้อย่างง่ายดายมากขึ้น แต่ทว่า ต้องไม่หลงตัวเอง ไม่หลงลืมไปว่า เราก็ส่วนหนึ่ง คือ อาตมัน และเทพก็ส่วนหนึ่ง คือ ปรมาตมัน (ปรมาตมัน หมายถึง เทพมีความเป็นหนึ่งเดียวกัน ไม่ว่าจะเป็นจิตวิญญาณไหนก็ตาม เพราะรับคำสั่งเดียวกันมาจากเบื้องบน แม้จะทำกิจต่างกัน รูปนามต่างกัน) ซึ่ง คนส่วนใหญ่ที่มีอัตตา ตัวกูของกู มากแล้ว มักพบกับความวิบัติภายหลัง เพราะนิยมยึดถือว่าตนเองเป็นเทพยิ่งใหญ่มีฤทธิ์มากอยู่คนเดียว ผู้อื่นไม่ใช่ ผู้อื่นเป็นตัวปลอมผิดไปหมด (ทั้งๆ ที่เทพท่านแบ่งญาณบารมีได้ จึงโปรดช่วยคนได้หลายคนพร้อมกัน) สิ่งนี้ต้องระวังให้มาก เมื่อใดก็ตามหลอมรวมจิตคิดว่าเป็นหนึ่งเดียวแล้ว ต้องไม่ยึดเป็นอัตตา&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ญาณ บารมี มากหรือน้อย เทพจะองค์ใหญ่องค์น้อยนั้นไม่สำคัญเท่ากับการบำเพ็ญของเรา ยกตัวอย่างเช่น พระนารายมาช่วยคนๆ หนึ่ง ท่านเป็นเทพใหญ่มาก แต่หากบำเพ็ญด้อยแล้ว ตัวเองก็จะแย่ ไปสู้กับคุณไสย ก็ถูกคุณไสยเข้าตัวเสียอย่างนั้น สุดท้ายไม่ได้เป็นผลดีเลย ในขณะที่คนอีกคนหนึ่ง มีองค์พิฆเนศ ซึ่งเป็นมหาเทพระดับลูกของพระมหาเทพทั้งสาม (นับว่าอิทธิฤทธิ์รองลงมา) แต่ผู้นั้นคิดสร้างสรรค์งานเพื่อพุทธศาสนา แล้วด้วยบารมีแห่งองค์เทพพิฆเนศ เป็นองค์เทพแห่งความสำเร็จ ท่านลองไตร่ตรองดูเถิดว่าคนประเภทที่สองที่ได้รับองค์พิฆเนศซึ่งรองจากมหา เทพทั้งสามนี้ อิทธิฤทธิ์แม้น้อยกว่าองค์นารายนี้ กลับได้บุญบารมีมากกว่า เพราะช่วยงานพุทธศาสนาจนสำเร็จ ในขณะที่คนแรก ไปต่อสู้กับมนต์ดำ จนตัวเองต้องถลำเข้าไปสู่วังวนการต่อสู้ทางจิต แทบไม่ได้บุญอะไรเลยในบางครั้ง เพราะเอาแต่ปะลองฤทธิ์กัน เช่นนี้ จึงกล่าวได้ว่า เทพองค์ใหญ่หรือเล็กนั้นไม่สำคัญ สำคัญที่ตัวเราทำอะไร หากมีองค์เทพอยู่ด้วย ขอให้ดึงพลังของท่านมาใช้ ให้เกิดประโยชน์สุขให้มากที่สุด ไม่ใช่ใช้ไปนอกลู่นอกทาง ซึ่งยังผลให้บั้นปลายสุดท้าย ต้องรับกรรมอย่างหนักหนาสาหัส ไม่เป็นผลดีต่อตนเองเลย&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;การ ดึงญาณบารมีลงมาประทับ และการดึงญาณบารมีกลับ ในบางครั้ง จำเป็นต้องทำ เพื่อปรับให้การบำเพ็ญสมดุลไม่มากไม่น้อยเกินไป ยกตัวอย่างเช่น บางท่านมีญาณบารมีแบบสมณเทพ คือ มีทั้งพระสมณะและเทพพรหม หากมีเทพพรหมมากช่วงไหน ก็บำเพ็ญบารมีมาก หากมีพระมากช่วงไหนก็ปฏิบัติจิตมาก บางครั้ง จำต้องปรับญาณบารมีให้ตัวเอง เช่น การไปวัด ทำบุญ สัมผัสพระธาตุ ไหว้พระธาตุ เหล่านี้ทำให้ญาณบารมีฝ่ายสมณะเพิ่มขึ้น (หากต้องการ) หรือ การไปทำพิธีพราหมณ์ ไหว้องค์เทพ ทำให้ญาณบารมีองค์เทพมากขึ้น (หากต้องการ) บางท่านมีพลังจิตพิเศษสามารถติดต่อสื่อสารกับเบื้องบนได้ และอัญเชิญญาณบารมีองค์เทพต่างๆ ลงมาประทับคุ้มครองผู้คนได้ และบางท่านก็สามารถดึงญาณบารมีขององค์เทพกลับได้ หากพบว่ามากเกินไป หลงเกินไป หรือเดินทางผิดพลาด ก็สามารถดึงญาณบารมีเก็บกลับได้เช่นกัน ซึ่งบุคคลผู้ที่ทำหน้าที่เหล่านี้ได้แท้จริง มีจำนวนน้อย และมักถูกมองหาว่าบ้า เพราะทำหน้าที่ในกิจที่ตาเนื้อมองไม่เห็น ที่เรียกว่า “อนุตรธรรม” ซึ่งจะมีเรื่องของการเปิดจิตญาณต่างๆ นั่นเอง&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ขอบคุณ..  &lt;a target=&#39;_blank&#39; href=&#39;http://www.oknation.net/blog/print.php?id=244364&#39;&gt;http://www.oknation.net/blog/print.php?id=244364&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=f9f840c9-7752-8e40-9327-b5c710887f4d&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/12/blog-post.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-4233720695214211984</guid><pubDate>Tue, 22 Dec 2009 18:32:00 +0000</pubDate><atom:updated>2009-12-22T10:34:08.731-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP Scripts</category><title>สร้าง Graph ด้วย Highcharts</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;ปกติการสร้างกราฟ ถ้า developer ทั่วไปก็จะคุ้นเคยกันดีกับ JP Graph หรือ FLash Graph ,Flash Chart ทั่วไป ซึ่งแน่นอนว่าแต่ละอย่างแต่ละอันก็เหมาะสมกับงานแตกต่างกันไป โดยส่วนตัวแล้วชอบที่จะใช้ Flash Chart + Xml มากกว่าแต่ปัญหาที่ประสบพบเจอเวลานำงานไป implement ให้กับลูกค้านั้นตัว flash เองก็มีปัญหา เพราะ browser ทั่วไปจำเป็นจะต้องมีการเรียกเปิดไฟล์ flash ซึ่งบางครั้งมันก็ไปแสดงค่าเดิมมา  ทำให้ต้องเสาะหาตัวโปรแกรมใหม่ที่ไม่ใช่ flash และแล้วก็ไปเจอตัวนี้มา Highchart ซึ่งพัฒนามาจาก Jquery ซึ่งแน่นอนว่าถูกใจผู้พัฒนาเป็นอย่างยิ่งเนื่องจากว่ามีรูปแบบและการใช้งานค่อนข้างคล้ายคลึงและ features ที่มากเป็นพิเศษ เทียบเท่าได้กับ google apps นั่นเอง ซึ่งผู้อ่านสามารถนำไปใช้งานกับการพัฒนาทั่วไปได้จาก www.highcharts.com ซึ่งหากนำไปใช้เพื่อการพัฒนาหรือเฉพาะส่วนงานก็ฟรีครับ แต่หากจะใช้แบบ open web ก็ต้องซื้อหากันไปครับ&lt;br /&gt;&lt;br /&gt;&lt;iframe width=&#39;100%&#39; height=&#39;400&#39; src=&#39;http://www.highcharts.com/demo/&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=28ec8912-940f-8dfe-85e5-17b91c15725a&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/12/graph-highcharts.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-833081455521408543</guid><pubDate>Tue, 22 Sep 2009 02:31:00 +0000</pubDate><atom:updated>2009-12-22T10:40:19.114-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Program</category><title>EDraw Max โปรแกรมออกแบบ Flowcharts / Org Charts / Network Diagrams</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;img src=&#39;http://www.edrawsoft.com/images/product.jpg&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;&lt;font color=&#39;red&#39;&gt;EDraw Max Ver. 4.3.0.1103&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;• ออกแบบ Flowcharts / Org  Charts / Network Diagrams ด้วย [EDraw Max] มีสัญลักษณ์ต่างๆ ให้เลือกใช้งานถึง  4600 ชิ้น พร้อม Template ที่สวยงามมั่กมั่ก ครอบคลุมทุกฟังก์ชั่นการใช้งาน  การันตีความยอดเยี่ยมจากต่างแดนจ้า&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://img.siambit.com/ik/k0wss.png&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://www.softpedia.com/screenshots/EDraw-Max_4.png&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://www.softpedia.com/screenshots/EDraw-Max_5.png&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://www.softpedia.com/screenshots/EDraw-Max_6.png&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://www.softpedia.com/screenshots/EDraw-Max_7.png&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://www.softpedia.com/screenshots/EDraw-Max_8.png&#39; border=&#39;0&#39;/&gt;&lt;br/&gt;&lt;br/&gt;Homepage : &lt;a href=&#39;http://www.2bbit.com/redir.php?url=http://www.edrawsoft.com/EDrawMax.php&#39;&gt;http://www.edrawsoft.com/EDrawMax.php&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;System  Requirement : Windows 2000 / Windows XP Tablet PC / Windows XP / Windows 2003 /  Windows Vista&lt;br/&gt;&lt;br/&gt;ภาษาอังกฤษ ดูคุณสมบัติกันแบบละเอียดได้เลยครับ&lt;br/&gt;&lt;br/&gt;Why  Choose Edraw Max : ทำไมต้องเลือก Edraw Max&lt;br/&gt;&lt;br/&gt;• Use the diagramming software  that best maps to what you know and where you re headed. &lt;br/&gt;• Fully  vector-based graphic software which facilitates the rapid creation of flowcharts  / organizational charts / network diagrams and more. &lt;br/&gt;• Supports to import  the exist Visio XML file perfectly. &lt;br/&gt;• Just drag the build-in shapes from the  library pane and drop them on your page. Drawing couldn t be easier! &lt;br/&gt;•  Creates professional-looking diagrams quickly with themes effects and quick  styles. &lt;br/&gt;• Gain greater productivity in diagramming with features like  automatically aligns and arranges all shapes. &lt;br/&gt;• Includes lots of  high-quality shapes examples and templates. &lt;br/&gt;• Distinct colors  fonts  shapes   styles  pictures  text  and symbols are available for each diagram object.  &lt;br/&gt;• Easily visualize complex information with a wide range of diagrams. Make  those diagrams even smarter and more useful by linking them to underlying data  which provides a more complete picture of the system or process. &lt;br/&gt;• Works  with MS Office well. It can be integrated with Microsoft Office application  easily. The UI is MS Office-style like it s easy to learn and use. If you are  familiar with MS Office  you are familiar with Edraw quickly. &lt;br/&gt;• Generics  graphic formats support and WYSIWYG printing.&lt;br/&gt;&lt;br/&gt;No other diagramming  software gives you all these : ไม่มีโปรแกรมไหนให้คุณได้เท่านี้อีกแล้ว&lt;br/&gt;&lt;br/&gt;•  Design and document based on a wide range of build-in shapes and examples. &lt;br/&gt;•  Our single user license allows one user to install the product on two computers  as long as that user is the only user of the software. &lt;br/&gt;• High quality  product and reasonable price. &lt;br/&gt;• Free upgrade in the lifetime and free  technology support. &lt;br/&gt;• In-depth tutorials to help you learn how to  draw.&lt;br/&gt;&lt;br/&gt;New Features : คุณสมบัติใหม่ๆ&lt;br/&gt;&lt;br/&gt;• The UI is MS Office 2007  style like. Full ribbon features. &lt;br/&gt;• Added Themes / Color Themes / Effects  and Fonts. Easy to change the whole diagram by changing the active theme. With  the new Theme feature you can format the colors and effects in an entire diagram  with a single click. &lt;br/&gt;• Real-time previews. When you scroll over the various  galleries in Edraw you ll see your drawings and various objects change to  display what they ll look like if you decide to apply those settings. Just click  on the thumbnail in the gallery to actually accept the changes. This makes it a  lot faster to see for example how changing a color scheme will affect your  drawings. &lt;br/&gt;• Quick layouts and quick styles. These provide quick formatting  options for the object in question and make it easy to create good-looking  slides with just a few clicks. &lt;br/&gt;• Put Edraw graphics into Word / Excel /  PowerPoint with one-click buttons. &lt;br/&gt;• Text objects supported line space /  bullet / Indent / back color / super s-cript / sub s-cript and more.&lt;br/&gt;•  Shadows in general are so very nice compared to those in previous versions. We  can actually control the transparency amount of blur and color now. &lt;br/&gt;• Shape  and text presets make it really easy to apply a preset look to an object or  text. &lt;br/&gt;• It s quicker to zoom in and out now using the zoom slider in the  southeast corner of the screen. &lt;br/&gt;• Table support. &lt;br/&gt;• Recolor picture /  Light and Contrast / transparent PNG support. &lt;br/&gt;• Opened the Shape Sheet for  senior users to create more complicated shapes. &lt;br/&gt;• More 2000 clip arts. &lt;br/&gt;•  Improved the Insert Hyperlink function. &lt;br/&gt;• Improved the Print function.  Support more page sizes such as A0 / A1. You can also print the large size  graphics in separate pages. &lt;br/&gt;• Persistent undo and redo. &lt;br/&gt;• High quality  graphic export.&lt;br/&gt;&lt;br/&gt;Work with MS Office well : ทำงานร่วมกับ MS Office  ได้ดี&lt;br/&gt;&lt;br/&gt;• Edraw provides several ways to cooperate with MS Office system.  &lt;br/&gt;• You can copy the selected shapes then paste it into MS Office document.  &lt;br/&gt;• You can insert the Edraw OLE object in MS Office application.&lt;br/&gt;• You  also can export the drawings to generics graphic formats such as jpg  tif  bmp.  Then switch to MS Office and insert the picture. &lt;br/&gt;&lt;br/&gt;Vector-based.&lt;br/&gt;•  Edraw Max is a vector-based diagramming software  which means whatever size you  change the diagram it will always keep high quality.&lt;br/&gt;&lt;br/&gt;Easy and friendly  UI.&lt;br/&gt;• Edraw UI is MS Office-style like it s easy to learn and use. If you are  familiar with MS Office you are familiar with Edraw quickly.&lt;br/&gt;&lt;br/&gt;Support  almost all kinds of graphics formats.&lt;br/&gt;• Supports almost all the generics  graphics formats it can export or import those common graphics formats like bmp   gif  dib  png  tif  wmf  emf  html and so on. &lt;br/&gt;&lt;br/&gt;Save as exe file and  share it with anyone without Edraw.&lt;br/&gt;• You can save your drawing file to exe  format and share it with anyone you want even it has no Edraw installed.  &lt;br/&gt;&lt;br/&gt;Provide drawing tools like Illustrator.&lt;br/&gt;• Provides a set of drawing  tools like Adobe Illustrator with those tools you can draw your own shapes or  change the shapes in library. &lt;br/&gt;&lt;br/&gt;Distribute shapes automatically.&lt;br/&gt;•  Edraw can help you align and arrange all shapes automatically this will speed  your working.&lt;br/&gt;&lt;br/&gt;Strong style system and plenty of beautiful build-in  styles.&lt;br/&gt;• Edraw has an easy and quick style system and provides a lot of  pre-defined styles which can help you make your diagram beautiful and personal  in short time. &lt;br/&gt;&lt;br/&gt;Abundant libraries and templates involving kinds of  fields.&lt;br/&gt;• Provide abundant libraries and templates include flowcharts /  organizational charts / build plans / network diagrams and more. &lt;br/&gt;&lt;br/&gt;Define  and manage your own libraries and templates.&lt;br/&gt;• You can draw your own shapes  and documents save as libraries and templates and use them as pre-defined  libraries and templates.&lt;br/&gt;&lt;br/&gt;What new in Edraw Max V4.3 :  เปลี่ยนแปลงอะไรในเวอร์ชั่นนี้บ้าง&lt;br/&gt;====================&lt;br/&gt; /&amp;gt;&amp;gt;&amp;gt;  Improved the drawing speed scroll speed and blur speed.&lt;br/&gt; /&amp;gt;&amp;gt;&amp;gt; Fixed  the text excursion when printing big size document.&lt;br/&gt; /&amp;gt;&amp;gt;&amp;gt; Fixed the  Word export error.&lt;br/&gt; /&amp;gt;&amp;gt;&amp;gt; Improved the Cisco Network  Symbols.&lt;br/&gt;&lt;br/&gt;.................................................................................................................&lt;br/&gt;Edraw  Max - With large pre-drawn libraries and more than 4600 vector  symbols!&lt;br/&gt;.................................................................................................................&lt;a href=&#39;http://www.2bbit.com/redir.php?url=https://www.regnow.com/softsell/nph-softsell.cgi?item=12786-9&#39;&gt;&lt;br/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img class=&#39;zemanta-pixie-img&#39; alt=&#39;&#39; src=&#39;http://img.zemanta.com/pixy.gif?x-id=89c8a6c9-9e6e-80e4-a645-a38e282fb096&#39;/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=1233e0b9-2706-88b3-9afb-b34b83353601&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/09/edraw-max-flowcharts-org-charts-network.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-1729901612234132155</guid><pubDate>Sat, 19 Sep 2009 01:42:00 +0000</pubDate><atom:updated>2009-09-18T18:43:05.030-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP Scripts</category><title>ติดตั้ง Smarty Template Engine</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;  &lt;div sizset=&#39;7&#39; sizcache=&#39;0&#39; class=&#39;entry&#39;&gt; &lt;p&gt;&lt;strong&gt;Smarty Template Engine&lt;/strong&gt; เป็นชุด Class Library ที่สร้างขึ้น  เพื่อมาจัดการส่วนการแสดงผล  หรือ Presentation Layer หรือ Views ใน MVC  ที่มีประสิทธิภาพยอดเยี่ยม และใช้งานง่าย&lt;/p&gt;&lt;p/&gt;&lt;hr class=&#39;jump&#39;/&gt;&lt;p/&gt; &lt;p&gt;&lt;strong&gt;ทำไมถึงใช้ smarty?&lt;/strong&gt;&lt;/p&gt; &lt;ul sizset=&#39;7&#39; sizcache=&#39;0&#39;&gt;&lt;li&gt;smarty จะแยกการ coding ออกจาก design เพราะ designer บางท่านอาจจะงง ๆ กับการ  coding  &lt;/li&gt;&lt;li&gt;smarty สร้างมุมมอง MVC ให้แก่ PHP เพราะ smarty อยู่ในกลุ่ม view  &lt;/li&gt;&lt;li&gt;smarty ช่วยให้โปรแกรมเมอร์ลืมคำว่า “เขาบอกให้แก้ code ตรงนั้น คุณไปแก้  template ทำไม” (พยายามหาคำสุภาพมาเผยแพร่) &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;วิธีใช้งาน&lt;/strong&gt;&lt;/p&gt; &lt;ol sizset=&#39;10&#39; sizcache=&#39;0&#39;&gt;&lt;li&gt;อันดับแรก ไปโหลด &lt;strong&gt;library&lt;/strong&gt; มาก่อน จาก Web page ของ Smarty  ก็คือ &lt;a modo=&#39;false&#39; href=&#39;http://www.smarty.net&#39; onclick=&#39;javascript:pageTracker._trackPageview(&amp;apos;/outbound/article/www.smarty.net&amp;apos;);&#39;&gt;http://www.smarty.net&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;ต่อไปก็ &lt;strong&gt;unzip&lt;/strong&gt; แล้วไปวางไว้ใน &lt;strong&gt;path&lt;/strong&gt;  ของเว็บที่จะใช้งาน smarty  &lt;/li&gt;&lt;li&gt;ทดสอบ และใช้งานจริง &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;span id=&#39;more-678&#39;/&gt;&lt;strong&gt;วิธีการทดสอบ&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;File PHP&lt;/strong&gt; = test.php&lt;/p&gt; &lt;div class=&#39;syntaxhighlighter &#39; id=&#39;highlighter_873533&#39;&gt; &lt;div class=&#39;bar                                                                                 &#39;&gt; &lt;div class=&#39;toolbar&#39;&gt;&lt;a commandname=&#39;viewSource&#39; highlighterid=&#39;highlighter_873533&#39; href=&#39;#viewSource&#39; title=&#39;view source&#39; class=&#39;item viewSource&#39; style=&#39;width: 16px; height: 16px;&#39;&gt;view source&lt;/a&gt; &lt;div class=&#39;item copyToClipboard&#39;&gt; &lt;div class=&#39;youtube-video&#39;&gt;&lt;object width=&#39;16&#39; height=&#39;16&#39; type=&#39;application/x-shockwave-flash&#39; classid=&#39;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&#39; codebase=&#39;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0&#39; title=&#39;copy to clipboard&#39; id=&#39;highlighter_873533_clipboard&#39;&gt;&lt;param value=&#39;423&#39; name=&#39;_cx&#39;&gt; &lt;/param&gt;&lt;param value=&#39;423&#39; name=&#39;_cy&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;FlashVars&#39;&gt; &lt;/param&gt;&lt;param value=&#39;http://exscript.info/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf&#39; name=&#39;Movie&#39;&gt; &lt;/param&gt;&lt;param value=&#39;http://exscript.info/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf&#39; name=&#39;Src&#39;&gt; &lt;/param&gt;&lt;param value=&#39;Transparent&#39; name=&#39;WMode&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;Play&#39;&gt; &lt;/param&gt;&lt;param value=&#39;-1&#39; name=&#39;Loop&#39;&gt; &lt;/param&gt;&lt;param value=&#39;High&#39; name=&#39;Quality&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;SAlign&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;Menu&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;Base&#39;&gt; &lt;/param&gt;&lt;param value=&#39;always&#39; name=&#39;AllowScriptAccess&#39;&gt; &lt;/param&gt;&lt;param value=&#39;ShowAll&#39; name=&#39;Scale&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;DeviceFont&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;EmbedMovie&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;BGColor&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;SWRemote&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;MovieData&#39;&gt; &lt;/param&gt;&lt;param value=&#39;1&#39; name=&#39;SeamlessTabbing&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;Profile&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;ProfileAddress&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;ProfilePort&#39;&gt; &lt;/param&gt;&lt;param value=&#39;all&#39; name=&#39;AllowNetworking&#39;&gt; &lt;/param&gt;&lt;param value=&#39;false&#39; name=&#39;AllowFullScreen&#39;&gt; &lt;/param&gt;&lt;/object&gt;&lt;/div&gt;&lt;a commandname=&#39;printSource&#39; highlighterid=&#39;highlighter_873533&#39; href=&#39;#printSource&#39; title=&#39;print&#39; class=&#39;item printSource&#39; style=&#39;width: 16px; height: 16px;&#39;&gt;print&lt;/a&gt;&lt;a commandname=&#39;about&#39; highlighterid=&#39;highlighter_873533&#39; href=&#39;#about&#39; title=&#39;?&#39; class=&#39;item about&#39; style=&#39;width: 16px; height: 16px;&#39;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class=&#39;lines&#39;&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;01.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;?  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;02.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;keyword&#39;&gt;require_once&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;(&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;library/smarty/Smarty.class.php&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;);   &lt;/code&gt;&lt;code class=&#39;comments&#39;&gt;// อันนี้คงรู้ ถ้าไม่รู้อย่าใช้เลย smarty  เดี๋ยวมันจะงงไปใหญ่ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;03.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;code class=&#39;spaces&#39;&gt; &lt;/code&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 7px ! important;&#39;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;04.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt; &lt;code class=&#39;plain&#39;&gt;= &lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;new&lt;/code&gt; &lt;code class=&#39;plain&#39;&gt;Smarty(); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;05.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;code class=&#39;spaces&#39;&gt; &lt;/code&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 7px ! important;&#39;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;06.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;-&amp;gt;template_dir   =  &lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;templates&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;07.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;comments&#39;&gt;//  ที่อยู่ของ template ของเรา &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;08.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;code class=&#39;spaces&#39;&gt; &lt;/code&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 7px ! important;&#39;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;09.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;-&amp;gt;compile_dir    =  &lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;templates_c&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;10.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;comments&#39;&gt;// smarty  จะทำการ complie code เรา ดังนั้นเราจะต้องระบุบ path ที่เก็บ file complie แล้ว  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;11.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;code class=&#39;spaces&#39;&gt; &lt;/code&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 7px ! important;&#39;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;12.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;-&amp;gt;assign(&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;hello&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;, &lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;สวัสดี&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;); &lt;/code&gt;&lt;code class=&#39;comments&#39;&gt;//  ใส่ค่าแนบลงไป &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;13.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$name&lt;/code&gt; &lt;code class=&#39;plain&#39;&gt;= &lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;array&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;(&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;eXscript&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;,&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;Phun&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;,&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;Soloman&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;); &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;14.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;-&amp;gt;assign(&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;name&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;,&lt;/code&gt;&lt;code class=&#39;variable&#39;&gt;$name&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;); &lt;/code&gt;&lt;code class=&#39;comments&#39;&gt;//  กำหนดค่า variable 2 เป็น array &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;15.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;-&amp;gt;assign(&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;title&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;,&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;สวัสดีทุกคน&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;); &lt;/code&gt;&lt;code class=&#39;comments&#39;&gt;// กำหนดค่า variable 3 &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;16.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;code class=&#39;spaces&#39;&gt; &lt;/code&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 7px ! important;&#39;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;17.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;variable&#39;&gt;$smarty&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;-&amp;gt;display(&lt;/code&gt;&lt;code class=&#39;string&#39;&gt;&#39;good.tpl&#39;&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;); &lt;/code&gt;&lt;code class=&#39;comments&#39;&gt;// ให้แสดงผลโดยใช้ template อะไร &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;18.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;?&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;File TPL&lt;/strong&gt; = templates/good.tpl&lt;/p&gt; &lt;div class=&#39;syntaxhighlighter &#39; id=&#39;highlighter_315121&#39;&gt; &lt;div class=&#39;bar                          &#39;&gt; &lt;div class=&#39;toolbar&#39;&gt;&lt;a commandname=&#39;viewSource&#39; highlighterid=&#39;highlighter_315121&#39; href=&#39;#viewSource&#39; title=&#39;view source&#39; class=&#39;item viewSource&#39; style=&#39;width: 16px; height: 16px;&#39;&gt;view source&lt;/a&gt; &lt;div class=&#39;item copyToClipboard&#39;&gt; &lt;div class=&#39;youtube-video&#39;&gt;&lt;object width=&#39;16&#39; height=&#39;16&#39; type=&#39;application/x-shockwave-flash&#39; classid=&#39;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&#39; codebase=&#39;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0&#39; title=&#39;copy to clipboard&#39; id=&#39;highlighter_315121_clipboard&#39;&gt;&lt;param value=&#39;423&#39; name=&#39;_cx&#39;&gt; &lt;/param&gt;&lt;param value=&#39;423&#39; name=&#39;_cy&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;FlashVars&#39;&gt; &lt;/param&gt;&lt;param value=&#39;http://exscript.info/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf&#39; name=&#39;Movie&#39;&gt; &lt;/param&gt;&lt;param value=&#39;http://exscript.info/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf&#39; name=&#39;Src&#39;&gt; &lt;/param&gt;&lt;param value=&#39;Transparent&#39; name=&#39;WMode&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;Play&#39;&gt; &lt;/param&gt;&lt;param value=&#39;-1&#39; name=&#39;Loop&#39;&gt; &lt;/param&gt;&lt;param value=&#39;High&#39; name=&#39;Quality&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;SAlign&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;Menu&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;Base&#39;&gt; &lt;/param&gt;&lt;param value=&#39;always&#39; name=&#39;AllowScriptAccess&#39;&gt; &lt;/param&gt;&lt;param value=&#39;ShowAll&#39; name=&#39;Scale&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;DeviceFont&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;EmbedMovie&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;BGColor&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;SWRemote&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;MovieData&#39;&gt; &lt;/param&gt;&lt;param value=&#39;1&#39; name=&#39;SeamlessTabbing&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;Profile&#39;&gt; &lt;/param&gt;&lt;param value=&#39;&#39; name=&#39;ProfileAddress&#39;&gt; &lt;/param&gt;&lt;param value=&#39;0&#39; name=&#39;ProfilePort&#39;&gt; &lt;/param&gt;&lt;param value=&#39;all&#39; name=&#39;AllowNetworking&#39;&gt; &lt;/param&gt;&lt;param value=&#39;false&#39; name=&#39;AllowFullScreen&#39;&gt; &lt;/param&gt;&lt;/object&gt;&lt;/div&gt;&lt;a commandname=&#39;printSource&#39; highlighterid=&#39;highlighter_315121&#39; href=&#39;#printSource&#39; title=&#39;print&#39; class=&#39;item printSource&#39; style=&#39;width: 16px; height: 16px;&#39;&gt;print&lt;/a&gt;&lt;a commandname=&#39;about&#39; highlighterid=&#39;highlighter_315121&#39; href=&#39;#about&#39; title=&#39;?&#39; class=&#39;item about&#39; style=&#39;width: 16px; height: 16px;&#39;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class=&#39;lines&#39;&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;01.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;html&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;02.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;head&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;03.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;title&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;{$title}&amp;lt;/&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;title&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt; &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;04.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;head&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;05.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;body&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;06.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;{foreach  from=$name item=displayname} &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;07.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;{$hello}  {$displayname}&amp;lt;&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;br&lt;/code&gt; &lt;code class=&#39;plain&#39;&gt;/&amp;gt;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;08.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;{/foreach}  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt1&#39;&gt;&lt;code class=&#39;number&#39;&gt;09.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;body&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;  &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class=&#39;line alt2&#39;&gt;&lt;code class=&#39;number&#39;&gt;10.&lt;/code&gt;&lt;span class=&#39;content&#39;&gt;&lt;span class=&#39;block&#39; style=&#39;margin-left: 0px ! important;&#39;&gt;&lt;code class=&#39;plain&#39;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&#39;keyword&#39;&gt;html&lt;/code&gt;&lt;code class=&#39;plain&#39;&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;ผลลัพธ์&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;สวัสดี eXscript&lt;br/&gt;สวัสดี Phun&lt;br/&gt;สวัสดี Soloman&lt;/p&gt; &lt;p&gt;และชื่อ title bar จะเขียนว่า “สวัสดีทุกคน”&lt;/p&gt;&lt;/div&gt;แท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/smarty&#39; class=&#39;performancingtags&#39;&gt;smarty&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/template%20engine&#39; class=&#39;performancingtags&#39;&gt;template engine&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=6c189d17-86db-8559-adc2-d07c45f2b121&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/09/smarty-template-engine_18.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-3351183165517342192</guid><pubDate>Sat, 19 Sep 2009 01:39:00 +0000</pubDate><atom:updated>2009-09-18T18:39:39.890-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP Scripts</category><title>Smarty Template Engine</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;h1&gt;Smarty คืออะไร &lt;/h1&gt;Smarty เป็น Template Engine ตัวหนึ่งซึ่งทำงานได้เร็ว  ถูกต้องแม่นยำ Smarty เป็น Framework ซึ่ง ถูกสร้าง มาเพื่อ &lt;br/&gt;Programmer และ  template designer ให้ทำงาน รวมกันแบบแยก ส่วนการทำงานออกจากกัน การทำงานของ Smarty  ใช้ tag ในการแทนที่ข้อความต่าง &lt;br/&gt;ทำให้เราง่าย ต่อการพัฒนาหรือ แก้ไข โปรแกรม  และ ง่ายต่อการ เปลี่ยนรูปแบบการแสดงผล โดยไม่ ต้องคำนึ่งถึงผลกระทบ ต่อ การ  แสดงผลของเรา &lt;br/&gt;&lt;br/&gt;Smarty มีคุณสมบัติอย่างไรบ้าง &lt;br/&gt;เขียนแบบ  OOP&lt;br/&gt;Caching:&lt;br/&gt;Configuration Files: &lt;br/&gt;Security: &lt;br/&gt;Easy to Use and  Maintain: &lt;br/&gt;Variable Modifiers: &lt;br/&gt;Template Functions:&lt;br/&gt;Filters:  &lt;br/&gt;Resources:&lt;br/&gt;Plugins:&lt;br/&gt;Add-ons:&lt;br/&gt;Debugging:&lt;br/&gt;Compiling:  &lt;br/&gt;Performance:&lt;br/&gt;&lt;br/&gt;ดาวน์โหลด  &lt;br/&gt;http://smarty.php.net/download.php&lt;br/&gt;&lt;br/&gt;การติดตั้ง Smarty &lt;br/&gt;เมื่อ  ดาวน์โหลดไฟล์ Smarty-x.x.xx มาแล้วให้ unzip ไฟล์ ออก จะได้ &lt;br/&gt;/libs และ folder  อื่นๆ อีก แต่ไม่ต้องสน ใจ ให้ สนใจแค่ ข้อมูลต่างๆ ใน folder libs  และห้ามแก้ไขไฟล์ ต่าง ใน folder นี้เด็ดขาด &lt;br/&gt;ข้อมูลใน libs ซึ่ง เป็น Required  Smarty library ตามนี้  &lt;br/&gt;Smarty.class.php&lt;br/&gt;Smarty_Compiler.class.php&lt;br/&gt;Config_File.class.php&lt;br/&gt;debug.tpl&lt;br/&gt;/internals/*.php  (class การทำงาน ส่วนต่างๆ ของ Smarty )&lt;br/&gt;/plugins/*.php (เก็บ class ที่เพิ่ม  ความสามารถ ของ Smarty)&lt;br/&gt;การอ้าง ถึง Smarty libs &lt;br/&gt;ต้องกำหนด cunstant ชื่อ  SMARTY_DIR ( defind(&#39;SMARTY_DIR&#39;, &#39;full system file path&#39;) ) &lt;br/&gt;ที่เรียกไปถึง  libs/ &lt;br/&gt;แต่ถ้าโปรแกรมของ เรา สามารถหา ไฟล์ Smarty.class.php เราไม่จำเป็นต้อง  กำหนด SMARTY_DIR ก็ได้ &lt;br/&gt;&lt;br/&gt;ตัวอย่างการเรียกใช้ Smarty ใน script php ของเรา  เช่น &lt;br/&gt;require_once(&#39;Smarty.class.php&#39;);&lt;br/&gt;$smarty = new Smarty();&lt;br/&gt;?&amp;gt;  &lt;br/&gt;ถ้ามี error ขึ้นจากการเรียก ใช้ Smarty แบบ ข้างบน ให้ใช้แบบ ระบ Full part  เช่น &lt;br/&gt;&lt;br/&gt;// *nix style (note capital &#39;S&#39;)&lt;br/&gt;define(&#39;SMARTY_DIR&#39;,  &#39;/usr/local/lib/php/Smarty-v.e.r/libs/&#39;);&lt;br/&gt;&lt;br/&gt;// windows  style&lt;br/&gt;define(&#39;SMARTY_DIR&#39;, &#39;c:/webroot/libs/Smarty-v.e.r/libs/&#39;);&lt;br/&gt;&lt;br/&gt;//  hack version example that works on both *nix and windows&lt;br/&gt;// Smarty is  assumend to be in &#39;includes/&#39; dir under current  script&lt;br/&gt;define(&#39;SMARTY_DIR&#39;,str_replace(&quot;&quot;,&quot;/&quot;,getcwd()).&#39;/includes/Smarty-v.e.r/libs/&#39;);&lt;br/&gt;&lt;br/&gt;require_once(SMARTY_DIR  . &#39;Smarty.class.php&#39;);&lt;br/&gt;$smarty = new Smarty();&lt;br/&gt;?&amp;gt;&lt;br/&gt;&lt;br/&gt;Example 2-4.  Supply absolute path to library file&lt;br/&gt;// *nix style (note capital  &#39;S&#39;)&lt;br/&gt;require_once(&#39;/usr/local/lib/php/Smarty-v.e.r/libs/Smarty.class.php&#39;);&lt;br/&gt;&lt;br/&gt;//  windows  style&lt;br/&gt;require_once(&#39;c:/webroot/libs/Smarty-v.e.r/libs/Smarty.class.php&#39;);&lt;br/&gt;&lt;br/&gt;$smarty  = new Smarty();&lt;br/&gt;?&amp;gt; &lt;br/&gt;Example 2-5. Add library directory to PHP  include_path&lt;br/&gt;// Edit your php.ini file, add the Smarty library&lt;br/&gt;//  directory to the include_path and restart web server.&lt;br/&gt;// then the following  should work:&lt;br/&gt;require_once(&#39;Smarty.class.php&#39;);&lt;br/&gt;$smarty = new  Smarty();&lt;br/&gt;?&amp;gt; &lt;br/&gt;เมื่อ เลือกแบบ การ เข้าให้งาน Smarty ได้แล้ว ต่อไป  &lt;br/&gt;มาดูสิ่งที่ Smarty ต้องการ ต่อ คือ &lt;br/&gt;four directories ซึ่งมี default named  &#39;templates/&#39;, &#39;templates_c/&#39;, &#39;configs/&#39; and &#39;cache/&#39;. &lt;br/&gt;แล้วก็ ทำการ Setting  file permissions&lt;br/&gt;templates_c และ cache ให้ สามรถเขียนได้ &lt;br/&gt;เท่า นี้ เราก็  สามารถ เริ่ม ใช้งาน Smarty กันได้แล้ว &lt;br/&gt;ต่อไป มาเรียนรู้การ ใช้ Smarty แบบ  &lt;br/&gt;- Smarty For Template Designers&lt;br/&gt;- Smarty For Programmers กัน แท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/smarty&#39; class=&#39;performancingtags&#39;&gt;smarty&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/template%20engine&#39; class=&#39;performancingtags&#39;&gt;template engine&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99&#39; class=&#39;performancingtags&#39;&gt;การใช้งาน&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=0f883902-2888-8af6-8372-e509fb3b526b&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/09/smarty-template-engine.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-784650592405765771</guid><pubDate>Fri, 11 Sep 2009 02:16:00 +0000</pubDate><atom:updated>2009-09-10T19:16:32.455-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP Scripts</category><title>การติดตั้ง ioncube สำหรับ centos</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;ก่อนอื่นตรวจสอบ OS และเวอร์ชั่น php ของคุณก่อน&lt;br/&gt;ต่อมาก็ไปเลือกไฟล์ที่ต้องการได้ที่   http://www.ioncube.com/loaders.php&lt;br/&gt;&lt;br/&gt;ผมใช้ Centos  เลยเลือก Linux (x86-64)&lt;br/&gt;&lt;br/&gt;จากนั้นก็ทำการโหลดไฟล์&lt;br/&gt;&lt;br/&gt;#wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz&lt;br/&gt;&lt;br/&gt;แตกไฟล์ซะ&lt;br/&gt;#tar -zxvf ioncube_loaders_lin_x86-64.tar.gz&lt;br/&gt;&lt;br/&gt;แล้วเข้าไปใน โฟลเดอร์ ioncube&lt;br/&gt;#cd ioncube&lt;br/&gt;&lt;br/&gt;ทำการ copy file ioncube-loader-helper.php  ไปวางยัง PATH ของเว็บไซต์ที่ต้องการใช้ ioncube ในโฟลเดอร์ scripts นั้นๆเลย&lt;br/&gt;#cp ioncube-loader-helper.php  /home/test/domains/yourdomain.com/public_html/โฟลเดอร์สคริป/&lt;br/&gt;&lt;br/&gt;ออกมาข้างนอก โฟลเดอร์ ioncube &lt;br/&gt;# cd ..&lt;br/&gt;&lt;br/&gt;แล้วทำการย้ายโฟลเดอร์ ioncube  ไปไว้ที่ /usr/local/&lt;br/&gt;#mv ioncube /usr/local/&lt;br/&gt;&lt;br/&gt;จัดการแก้ไขไฟล์ php.ini &lt;br/&gt;#vi /usr/local/lib/php.ini     หรือ ถ้าใช้ DirectAdmin ก็เข้าไปแก้ไขที่ File Editor&lt;br/&gt;&lt;br/&gt;เพิ่มบันทัดข้างล่างนี้เข้าไป แล้ว Save  &lt;br/&gt;ที่ผมใส่ ioncube_loader_lin_4.4.so ลงไป เนื่องจากผมใช้ php4.4  ดังนั้นก่อน config ต้องเลือกใช้ให้ถูกตัว ถูกต้องด้วย &lt;br/&gt;&lt;br/&gt;zend_extension = /usr/local/ioncube/ioncube_loader_lin_4.4.so&lt;br/&gt;&lt;br/&gt;เสร็จก็ restart webserver&lt;br/&gt;#service httpd restart&lt;br/&gt;&lt;br/&gt;แล้วลองไปเปิด http://www.yourdomain.com/โฟลเดอร์สคริป/ioncube-loader-helper.php ดู รัน test ถ้าไม่มี Error อะไรก็ผ่าน&lt;br/&gt;แท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/ioncube&#39; class=&#39;performancingtags&#39;&gt;ioncube&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/centos&#39; class=&#39;performancingtags&#39;&gt;centos&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=3382f921-642c-82a9-b124-180a61b1fd76&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/09/ioncube-centos.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-5481917179463907309</guid><pubDate>Tue, 25 Aug 2009 13:21:00 +0000</pubDate><atom:updated>2009-08-25T06:21:47.931-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">plawan</category><title>การ set up ให้เครื่องที่บ้านทำเป็น web ได้  โดยผ่าน router</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;เทคนิคนี้ใช้กะ router ที่ติด dynamic dns มาให้อยู่แล้ว แต่ถ้าหากใช้ modem adsl จำเป็นจะต้องลงพวกโปรแกรม dynamic dns เช่น โปรแกรมของเว็บ no-ip ที่ติดมาให้ใช้กับ no-ip.com เท่านั้น หรือถ้าเป็นตัวอื่นก็แนะนำ direct-update ตัวนี้ผมใช้เวิร์กและดีมากในช่วงพักหนึ่งที่เคยได้ทำโปรเจ็ค กรณีนี้ไม่มีอะไรมาก &lt;br/&gt;&lt;br/&gt;1. อันดับแรกให้ไปสมัครเอา dynamic dns มาใช้งานก่อน ในที่นี้ขอใช้ dyndns ละกันง่ายสุด หรือถ้าอย่างเด็กๆหน่อยเค้าจะใช้ no-ip กัน รู้สึกจะเอาไปเปิด serv rag กันเยอะในช่วงหลายปีก่อน &lt;br/&gt;เข้าไปก็จะเห็นหน้าดังกล่าว&lt;br/&gt;&lt;a title=&#39;003 by meeja, on Flickr&#39; href=&#39;http://www.flickr.com/photos/41843887@N06/3856035028/&#39;&gt;&lt;img width=&#39;500&#39; height=&#39;293&#39; alt=&#39;003&#39; src=&#39;http://farm3.static.flickr.com/2514/3856035028_c7d0904cbb.jpg&#39;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;2. จะเห็นช่องให้ใส่ ชื่อเว็บ ตัวนี้เป็นช่องใส่ชื่อเว็บที่เราขอเค้าใช้เป็น subdomain อีกที ตั้งชื่อเลย ตั้งเสร็จ มันจะมาหน้าต่อไป&lt;br/&gt;&lt;br/&gt;&lt;a title=&#39;004 by meeja, on Flickr&#39; href=&#39;http://www.flickr.com/photos/41843887@N06/3855245949/&#39;&gt;&lt;img width=&#39;389&#39; height=&#39;203&#39; alt=&#39;004&#39; src=&#39;http://farm4.static.flickr.com/3532/3855245949_4a2e3727f9.jpg&#39;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;3. หน้านี้ก็คือให้กรอกข้อมูลลงบริเวณด้านล่างซึ่งรายละเอียดคงไม่ต้องอธิบาย เมื่อกรอกเสร็จแล้ว เราก็จะมี domain สำหรับเป็นที่เข้ามายังเว็บเราที่อยู่ที่บ้าน&lt;br/&gt;&lt;a title=&#39;005 by meeja, on Flickr&#39; href=&#39;http://www.flickr.com/photos/41843887@N06/3856035228/&#39;&gt;&lt;img width=&#39;604&#39; height=&#39;552&#39; alt=&#39;005&#39; src=&#39;http://farm3.static.flickr.com/2489/3856035228_cf638ff9ab.jpg&#39;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;4. เข้าไปยัง router ทำการ login เข้าไป บทความนี้ใช้ Linksys WAG160N รุ่นจานดาวเทียมสุดสวย ทรงล้ำหน้า แต่ว่าห่วยแตก ถ้าไม่อัพ firmware นะครับพี่น้อง หากใครใช้รุ่นนี้ อย่าลืม upgrade เป็น firmware version 1.00.15 นะครับ ไม่งั้นหลุดกระจาย ( 12-13 นาทีหลุด)&lt;br/&gt;&lt;br/&gt;&lt;a title=&#39;001 by meeja, on Flickr&#39; href=&#39;http://www.flickr.com/photos/41843887@N06/3856034728/&#39;&gt;&lt;img width=&#39;500&#39; height=&#39;241&#39; alt=&#39;001&#39; src=&#39;http://farm4.static.flickr.com/3107/3856034728_62fbaf51ed.jpg&#39;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;5. คลิก ที่ setup เลือก เมนู DDNS แล้วเลือก dynamic dns ค่ายที่เราไปสร้างไว้ ในนี้มี DynDSN.org พอดี ก็จิ้มเลย แล้วก็ใส่ ชื่อ &lt;br/&gt;User Name : ที่เราได้กรอกไว้ในข้อ 3 &lt;br/&gt;password : &lt;br/&gt;และ domain ที่เราเลือกไว้ตอนสมัครตอนแรกในข้อ 2&lt;br/&gt;เมื่อกรอกเสร็จ กด connect มันจะขึ้นข้อความมาว่า  connect successfull แสดงว่าเชื่อมต่อได้สำเร็จ&lt;br/&gt;&lt;br/&gt;&lt;a title=&#39;002 by meeja, on Flickr&#39; href=&#39;http://www.flickr.com/photos/41843887@N06/3856034774/&#39;&gt;&lt;img width=&#39;500&#39; height=&#39;287&#39; alt=&#39;002&#39; src=&#39;http://farm4.static.flickr.com/3428/3856034774_86678ea15d.jpg&#39;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;6. ยังไม่จบๆ ต่อไปก็ไปที่ การเซ็ท forward port เพื่อให้ เวลาคนที่จะเข้ามาสามารถทะลุ router เข้าไปยังเครื่องลูกข่ายได้&lt;br/&gt;&lt;br/&gt;&lt;a title=&#39;006 by meeja, on Flickr&#39; href=&#39;http://www.flickr.com/photos/41843887@N06/3855269579/&#39;&gt;&lt;img width=&#39;500&#39; height=&#39;221&#39; alt=&#39;006&#39; src=&#39;http://farm3.static.flickr.com/2516/3855269579_4008748bfb.jpg&#39;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;สังเกตที่ช่อง HTTP  จะเห็นว่า &lt;br/&gt;&lt;br/&gt;ช่อง External Port 80&lt;br/&gt;ช่อง Internal Port 80&lt;br/&gt;เลือก Protocol เป็น TCP&lt;br/&gt;ช่อง IP Address เลือกเป็นเครื่องลูกข่ายที่เราจะทำเป็น web server ในที่นี้ใช้ 192.168.1.33 แล้วติ๊ก Enable ให้สามารถใช้งานได้&lt;br/&gt;จากนั้นก็ save change ได้เลย ไม่ต้อง reboot ถ้า upgrade เป็น 1.00.15 แล้วนะ&lt;br/&gt;&lt;br/&gt;7. ขั้นตอนสุดท้าย ให้ทำการรันเครื่องลูกโดยเปิด web server ขึ้นมา บางคนอาจจะใช้ appserv บางคน xampp เมื่อรันแล้ว ก็ลองเข้าเว็บ ตามที่เราได้ตั้งชื่อไว้ http://xxx.homeip.net/  ถ้าหากเข้าได้ก็เป็นอันจบ แต่ถ้าหากไม่ได้ก็ให้รอสักพัก ระหว่างนี้มันอาจจะกำลัง update dns แต่ถ้าหากรอนานไปแล้วไม่ได้ก็แสดงว่า เป็นปัญหาที่การเซ็ท forward port ไม่ทะลุมาถึงเครื่องลูก หรือไม่ก็เครื่องลูก webserver ไม่ทำงานเป็นต้น&lt;br/&gt;&lt;br/&gt;Knowledge from Plawan Projectแท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/forward%20port&#39; class=&#39;performancingtags&#39;&gt;forward port&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/DynDNS&#39; class=&#39;performancingtags&#39;&gt;DynDNS&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/web&#39; class=&#39;performancingtags&#39;&gt;web&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/home%20web&#39; class=&#39;performancingtags&#39;&gt;home web&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/router&#39; class=&#39;performancingtags&#39;&gt;router&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=57d3cc7a-e9d2-8fee-b3d0-8fd9d626b3b5&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/08/set-up-web-router.html</link><author>noreply@blogger.com (meeja)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm3.static.flickr.com/2514/3856035028_c7d0904cbb_t.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-6823435699719474800</guid><pubDate>Tue, 25 Aug 2009 12:31:00 +0000</pubDate><atom:updated>2009-08-25T05:31:31.646-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">flash</category><title>การ remove Child FLVPlayback component ใน Flash CS4</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;note ไว้กันลืม&lt;br/&gt;&lt;br/&gt;function skipHandler(event:MouseEvent):void {&lt;br/&gt;	video.pause();&lt;br/&gt;	trace (&quot;video paused&quot;);&lt;br/&gt;	&lt;b&gt;removeChild(video);&lt;/b&gt;&lt;br/&gt;	trace (&quot;video removed&quot;);&lt;br/&gt;	event.target.root.mcContainer.mcIntro.unload();&lt;br/&gt;	trace (&quot;mcIntro Unloaded&quot;);&lt;br/&gt;    event.target.root.mcContainer.mcMenu.source = &quot;mcMainMenu&quot;;&lt;br/&gt;    event.target.root.mcContainer.mcLarge.source = &quot;mcBlankLg&quot;;&lt;br/&gt;	trace (&quot;Menu and Main Loaded&quot;);&lt;br/&gt;	event.target.root.mcContainer.mcPlayers.moveBryzTallOver();&lt;br/&gt;	trace (&quot;Players Moved&quot;);&lt;br/&gt;}&lt;br/&gt; &lt;br/&gt;	import fl.video.*;&lt;br/&gt;    trace(FLVPlayback.VERSION);&lt;br/&gt; &lt;br/&gt;video.addEventListener(VideoEvent.COMPLETE, endHandler);&lt;br/&gt; &lt;br/&gt;function endHandler(event:VideoEvent):void {&lt;br/&gt;	//video.pause();&lt;br/&gt;	//trace (&quot;video paused&quot;);&lt;br/&gt;	removeChild(video);&lt;br/&gt;	trace (&quot;video removed&quot;);&lt;br/&gt;	event.target.root.mcContainer.mcIntro.unload();&lt;br/&gt;	trace (&quot;mcIntro Unloaded&quot;);&lt;br/&gt;    event.target.root.mcContainer.mcMenu.source = &quot;mcMainMenu&quot;;&lt;br/&gt;    event.target.root.mcContainer.mcLarge.source = &quot;mcBlankLg&quot;;&lt;br/&gt;	trace (&quot;Menu and Main Loaded&quot;);&lt;br/&gt;	event.target.root.mcContainer.mcPlayers.moveBryzTallOver();&lt;br/&gt;	trace (&quot;Player Moved&quot;);&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;ให้สังเกตที่ removeChild() แล้วตามด้วย instance ที่เราสร้างขึ้นมา&lt;br/&gt;note from SCGCD Projectแท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/FLVPlayback%20component&#39; class=&#39;performancingtags&#39;&gt;FLVPlayback component&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/Flash&#39; class=&#39;performancingtags&#39;&gt;Flash&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/Flash%20CS4&#39; class=&#39;performancingtags&#39;&gt;Flash CS4&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/Flash%20Scripts&#39; class=&#39;performancingtags&#39;&gt;Flash Scripts&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=bf9276b9-816f-8ecf-ae7e-5751740e8f58&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/08/remove-child-flvplayback-component.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-600269682991590937</guid><pubDate>Mon, 17 Aug 2009 10:00:00 +0000</pubDate><atom:updated>2009-08-17T03:01:04.412-07:00</atom:updated><title>การใช้ Regular Expression ใน PHP*</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;PHP** มีฟังชั่นที่ใช้ Regular expression อยู่ทั้งหมด 6 ฟังชั่น การใช้ฟังชั่นพวกนี้ เราต้องใส่ argument ที่เป็น Regular expression ฟังชั่นทั้ง 6 ก็ได้แก่:&lt;br/&gt;&lt;br/&gt;·         ereg: ใช้สำหรับค้นหา คำ หรือ ตัวอักษรที่มีในข้อความที่ต้องการ&lt;br/&gt;&lt;br/&gt;·         ereg_replace: ใช้สำหรับค้นหาคำ แล้วแทนที่ด้วยคำที่กำหนด&lt;br/&gt;&lt;br/&gt;·         eregi: ใช้เหมือนกับ ereg แต่ case sensitive นั่นคือ ถือว่า ตัวอักษรภาษาอังกฤษตัวเล็กและตัวใหญ่ (capital letters) เป็นคนละตัวกัน&lt;br/&gt;&lt;br/&gt;·         eregi_replace: ใช้เหมือนกับ eregi แต่ case sensitive&lt;br/&gt;&lt;br/&gt;·         split: ใช้ค้นหาคำที่กำหนด และคืนค่าในลักษณะ array&lt;br/&gt;&lt;br/&gt;·         spliti: ใช้เหมือนกับ split แต่ case sensitive&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;ทำไมจึงต้อง Regular expressions?&lt;br/&gt;&lt;br/&gt;ถ้าท่านเขียนฟังชั่นเองเพื่อตรวจสอบข้อความต่าง ๆ ละก็ หันมาใช้ Regular expression ดีกว่า ลองสำรวจดูซิว่า ท่านทำสิ่งต่อไปนี้หรือไม่&lt;br/&gt;&lt;br/&gt;·         ท่านเขียนฟังชั่นเพื่อตรวจสอบทีละตัวว่า ในฟอร์มที่ผู้ใช้พิมพ์เข้ามา มีคำแปลกปลอม คำหยาบ หรือตัวอักษรบางอย่าง เช่น เครื่องหมาย @ ในอีเมล์ เป็นต้น&lt;br/&gt;&lt;br/&gt;·         ท่านเขียนฟังชั่นวน loop เพื่อตรวจสอบข้อความ และแทนที่คำที่พบด้วยคำที่กำหนด&lt;br/&gt;&lt;br/&gt;ถ้าใช่ แสดงว่าโปรแกรมของท่านยังมีข้อที่จะปรับปรุงให้ดีขึ้นได้ การเขียนฟังชั่นเองเพื่อให้ทำทั้งสองอย่างข้างต้น นักโปรแกรมทั่วไปเขาไม่นิยมทำกัน นอกจากนี้ยังเป็นการทำให้โปรแกรมทำงานช้าลงอีกด้วย ลองดูตัวอย่างสักสองตัวอย่าง ซึ่งเป็นการตรวจสอบอีเมล์เหมือนกัน&lt;br/&gt;&lt;br/&gt;ตัวอย่างที่ 1&lt;br/&gt;&amp;lt;\?&lt;br/&gt;  function validateEmail($email) {&lt;br/&gt;&lt;br/&gt;    $isAtSymbol = strpos($email, &quot;@&quot;);&lt;br/&gt;    $isDot = strpos($email, &quot;.&quot;);&lt;br/&gt;    if($isAtSymbol &amp;amp;&amp;amp; $isDot)&lt;br/&gt;      return true;&lt;br/&gt;    else&lt;br/&gt;      return false;&lt;br/&gt;  }&lt;br/&gt;?\&amp;gt;&lt;br/&gt;&lt;br/&gt;ตัวอย่างที่ 2&lt;br/&gt;&amp;lt;\?&lt;br/&gt;  function validateEmail($email)  {&lt;br/&gt;            return eregi(&#39;^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$&#39;,$email);&lt;br/&gt;  }&lt;br/&gt;?\&amp;gt;&lt;br/&gt;&lt;br/&gt;ตัวอย่างแรก ดูเข้าท่าดี อ่านเข้าใจง่าย ทำงานเป็นขั้นตอน แต่ลองเปรียบเทียบประสิทธิภาพการทำงานกับตัวอย่างที่ 2 จะเห็นว่า แตกต่างกัน ตัวอย่างที่ 2 ใช้เพียงบรรทัดเดียวในการตรวจสอบอีเมล์ ในขณะที่ตัวอย่างที่ 1 ใช้ตั้งหลายบรรทัด&lt;br/&gt;&lt;br/&gt;ตัวอย่างที่ 2 เรียกใช้ฟังชั่น ereg ถ้าหากว่า ตรวจสอบแล้วถูกต้อง ก็จะคืนค่าที่เป็นจริง แต่ถ้าตรวจสอบแล้วไม่เป็นไปตามที่ Regular expression ที่กำหนดไว้ ก็จะคืนค่าที่เป็นเท็จ&lt;br/&gt;ตัวอย่างแรก ดูเข้าท่าดี อ่านเข้าใจง่าย ทำงานเป็นขั้นตอน แต่ลองเปรียบเทียบประสิทธิภาพการทำงานกับตัวอย่างที่ 2 จะเห็นว่า แตกต่างกัน ตัวอย่างที่ 2 ใช้เพียงบรรทัดเดียวในการตรวจสอบอีเมล์ ในขณะที่ตัวอย่างที่ 1 ใช้ตั้งหลายบรรทัด&lt;br/&gt;&lt;br/&gt;ตัวอย่างที่ 2 เรียกใช้ฟังชั่น ereg ถ้าหากว่า ตรวจสอบแล้วถูกต้อง ก็จะคืนค่าที่เป็นจริง แต่ถ้าตรวจสอบแล้วไม่เป็นไปตามที่ Regular expression ที่กำหนดไว้ ก็จะคืนค่าที่เป็นเท็จ&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;รูปแบบ ไวยากรณ์ ของ Regular expression&lt;br/&gt;&lt;br/&gt;รูปแบบของ Regular expression ที่ควรรู้จัก มีดังนี้&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;1. การกำหนดว่า ต้องเป็นตัวแรกของข้อความ:&lt;br/&gt;&lt;br/&gt;เช่นเราต้องการตรวจสอบว่า คำที่กำลังตรวจสอบ ขึ้นต้นด้วยคำว่า “ความ” หรือไม่ เราจะใช้เครื่องหมาย ^ เพื่อระบุว่า ต้องขึ้นต้นด้วยคำคำนี้ ตัวอย่าง&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;อย่างนี้ ค่าที่ได้ คือ จริง หรือ true&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;อย่างนี้ จะได้ค่าที่เป็นเท็จ หรือ false เพราะ เรากำหนดให้ต้องขึ้นต้นด้วยคำว่า “ความ” แต่ในคำที่ให้ค้นหา ขึ้นต้นด้วยคำว่า “คน” จึงทำให้ค่าที่ได้เป็นเท็จ&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;2. การกำหนดว่า ต้องเป็นตัวสุดท้ายของข้อความ:&lt;br/&gt;&lt;br/&gt;เราใช้เครื่องหมาย $ เพื่อดูว่า ข้อความที่จะค้นหานั้น ลงท้ายด้วยคำที่กำหนดหรือไม่&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;จะได้ค่าที่เป็นจริง เพราะ ข้อความที่นำมาค้น ลงท้ายด้วยคำว่า “ความ”&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะได้ค่าที่เป็นเท็จ หรือ false&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;3. การค้นหาตัวอักษร:&lt;br/&gt;&lt;br/&gt;ถ้าต้องการระบุว่าจะต้องมีตัวอักษรจะเป็นตัวเลขหรือตัวอักษรก็ได้ แต่ไม่ใช่ช่องว่าง เราจะใช้ จุด เช่น&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะได้ค่าที่เป็นจริง&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะได้ค่าที่เป็นเท็จ เพราะสิ่งที่นำมาค้นหาไม่มีอะไรเลย&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;4. การกำหนดว่า อาจจะมีตัวอักษรที่กำหนดหรือไม่ก็ได้&lt;br/&gt;&lt;br/&gt;เราใช้เครื่องหมาย * เพื่อบอกว่าอาจจะมีหรือไม่มีก็ได้&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;ทั้งสองตัวอย่าง จะให้ค่าที่เป็นจริง เพราะเครื่องหมาย * จะบอกว่ามีตัว “ก” หรือไม่ก็ได้&lt;br/&gt;&lt;br/&gt;มีอีกวิธีหนึ่งที่จะระบุว่า ให้มีตัวอักษรนั้น ในคำหรือไม่ วิธีนี้เราจะใช้เครื่องหมาย ? เช่น&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;เป็นการบอกว่า คำที่นำมาค้นหา อาจจะมีตัว ก ไก่ หรือไม่ ก็ได้&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;บางคนอาจจะนึกถามอยู่ในใจว่า แล้วมันมีประโยชน์อย่างไร เพราะมีก็ได้ ไม่มีก็ได้ ไม่เห็นจะแตกต่างอะไรเลย ก็เหมือนกันนั่นแหละ  ก็ต้องขอบอกว่า มันมีประโยชน์ตรงที่เราสามารถกำหนดทางเลือกได้ เช่น เราจะตรวจสอบการป้อนข้อมูลตัวเลขว่าผู้ใช้โปรแกรมป้อนเข้ามาถูกหรือไม่ เรารู้ว่าตัวเลขสามารถพิมพ์ได้หลายแบบ บางทีก็มีเครื่องหมายคอมม่าหลังหลักพัน บางทีก็ไม่มี ซึ่งถูกทั้งสองรูปแบบ อย่างนี้ เราก็กำหนดให้เครื่องหมายคอมม่า มีก็ได้ไม่มีก็ได้ ถูกทั้งสองอย่าง เราก็ใช้เครื่องหมายนี้กำกับไว้ข้างหลังเครื่องหมายคอมม่าเสียนั่นเอง ตอนท้ายจะมีตัวอย่างให้ดู เป็นการกำหนดว่า จะพิมพ์เป็นเลขจำนวนเต็ม หรือทศนิยม ก็ได้ คือ มีจุดหรือไม่มีจุดต่อท้าย ก็ได้ โดยการใช้เครื่องหมาย ? นี่แหละ&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;5. การกำหนดให้มีตัวอักษรที่กำหนด อย่างน้อย 1 ตัว&lt;br/&gt;&lt;br/&gt;เราใช้เครื่องหมาย + เพื่อระบุว่า จะต้องมีตัวอักษรนั้นอย่างน้อย 1 ตัว เช่น&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะได้ค่าที่เป็นจริง เพราะคำว่า “วิธีการทำงาน” มีตัว ก ไก่ รวมอยู่ด้วย โดยไม่บังคับว่าจะอยู่ที่ไหนในคำ&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ตัวอย่างข้างต้นจะให้ค่าที่เป็นเท็จ เพราะคำว่า “วิธีทำงาน” ไม่มีตัว ก ไก่ อยู่เลย&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;6. การตรวจสอบช่องว่าง&lt;br/&gt;&lt;br/&gt;การตรวจสอบช่องว่าง ให้ใช้ [[:space:]] หรืออาจจะใช้ “ “ แทนก็ได้ แต่การใช้ :space: ซึ่งเป็น class ของ Posix จะหมายความรวมถึง เครื่องหมายอื่น ๆ เช่น tab เครื่องหมายขึ้นบรรทัดใหม่ รวมทั้งการเว้นวรรคด้วย ตัวอย่าง&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะให้ค่าที่เป็นจริง แต่&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะให้ค่าที่เป็นเท็จ เพราะไม่มีช่องว่างเลย&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;7. การตรวจสอบเป็นช่วง&lt;br/&gt;&lt;br/&gt;ถ้าต้องการตรวจสอบเป็นช่วง เราจะใช้เครื่องหมาย [ และ ] เพื่อคร่อมช่วงที่ต้องการ เช่น ต้องการระบุว่า ต้องเป็นระหว่างเลข 0 – 9 เท่านั้น เราจะเขียนว่า [0-9] ลองดูตัวอย่างต่อไปนี้&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;  // กำหนดให้มีเฉพาะตัวอักษรภาษาไทยเท่านั้น มีตัวเลขที่เป็นภาษาไทยได้ แต่ห้ามมีตัวอักษรภาษาอังกฤษ&lt;br/&gt;&lt;br/&gt;  echo ereg(&quot;^[ก-๙]+$&quot;, &quot;ทองจุล๐๑๒๓&quot;); // ให้ค่าที่เป็นจริง&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;?&amp;gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;ในกรณีของตัวอักษรภาษาไทย ถ้าจะกำหนดไม่ให้มีตัวเลข ต้องกำหนดค่า ระหว่าง ตัว ก ไก่ และ ไม้ตรี ถ้ากำหนดตั้งแต่ ตัว ก-ฮ จะทำให้มีสระไม่ได้ ซึ่งก็จะทำให้ไม่สามารถสะกดตัวเป็นคำได้อย่างสมบูรณ์&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;ขอให้สังเกตว่าในกรณีนี้ก็จะมีวรรคไม่ได้เหมือนกัน เพราะตัวอักษร ช่องว่าง หรือ space อยู่นอกขอบเขตที่กำหนด ถ้าจะให้มี ก็ต้องเพิ่มเข้าไป เช่น&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ในกรณีตัวเลข ถ้าต้องการตรวจดูว่า ข้อความที่กำหนดมีเฉพาะตัวเลขเท่านั้น ไม่ว่าจะเป็นเลขไทย หรือเลขฝรั่ง ให้ตรวจสอบดังนี้&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;จะได้ค่าที่เป็นจริง เครื่องหมาย ^ แสดงว่าข้อความที่นำมาค้น ต้องขึ้นต้นด้วย เลข 0-9 หรือ ๐-๙ เครื่องหมาย + แสดงว่า ต้องมี จะเป็นช่องว่างมาเฉย ๆ ไม่ได้ และเครื่องหมาย $ แสดงว่า ต้องจบลงด้วยตัวเลขเช่นเดียวกัน&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;8. การจัดกลุ่มคำ หรือ ข้อความ&lt;br/&gt;&lt;br/&gt;ถ้าต้องการจัดกลุ่มคำหรือข้อความให้ใช้เครื่องหมายวงเล็บ () คร่อม เช่น&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ข้อความข้างต้น กำหนดให้จะต้องขึ้นต้นด้วยคำว่า ทองจุล หรือ ปรีชา เพราะมีเครื่องหมาย ^ และต่อด้วยอะไรก็ได้ ดังนั้น คำว่า ปรีชา สุขเกษม จึงให้ค่าที่เป็นจริง แต่ถ้าเป็นชื่อ บำรุง โตรัตน์ ก็จะให้ค่าเป็นเท็จ เพราะไม่อยู่ในเงื่อนไขที่ต้องการ เครื่องหมาย | หมายความว่า อย่างใดอย่างหนึ่ง&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;9. การตรวจสอบเครื่องหมาย หรือ สัญลักษณ์พิเศษ&lt;br/&gt;&lt;br/&gt;เนื่องจากใน Regular expression ใช้เครื่องหมายในไวยากรณ์ ดังนั้นถ้าเราต้องการจะให้ค้นหาเครื่องหมายดังกล่าวในข้อความที่กำหนด จึงจำเป็นต้องบอกให้โปรแกรมรู้ว่า เครื่องหมายที่ใช้นี้ ไม่ใช่เป็นส่วนหนึ่งของไวยากรณ์ ลักษณะนี้ เราเรียกว่าเป็นการ escaping เราจะใช้เครื่องหมาย \ ใส่ไว้หน้าตัวอักษรพิเศษ หรือ สัญลักษณ์นั้น ๆ เช่น  \* เป็นการบอกว่า   ให้ตรวจหาเครื่องหมาย * ในคำที่ส่งมาเพื่อค้นหา เป็นต้น  ในกรณีที่ต้องการให้คำว่า ปรีชา ต้องขึ้นต้นด้วยเครื่องหมาย | เราทำดังนี้&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ข้อความข้างบนจะให้ค่าเป็นเท็จ เพราะเรากำหนดให้คำว่า ปรีชา ต้องขึ้นต้นด้วย | ถ้าเปลี่ยนคำว่า ปรีชา สุขเกษม เป็น |ปรีชา สุขเกษม ก็จะได้ค่าที่เป็นจริง&lt;br/&gt;&lt;br/&gt;ตัวอักษร หรือสัญลักษณ์พิเศษที่ต้อง escape มีดังนี้  ^, $, (, ), ., [, |, *, ?, +, \, และ {&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;10. สัญลักษณ์ของ Regular expression สรุปได้ดังนี้&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;^&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;คำ/อักษรที่อยู่หน้าเครื่องหมายนี้ ต้องเป็นคำขึ้นต้นของข้อความที่นำมาตรวจสอบเช่น “^การ” เป็นการกำหนดว่า คำที่นำมาตรวจสอบต้องขึ้นต้นด้วยคำว่า การ เช่น “การทำดี” “การบ้าน” เป็นต้น คำพวกนี้จะผ่านการทดสอบ&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;คำ/อักษรที่อยู่หน้าเครื่องหมายนี้ ต้องอยู่ตอนท้ายของข้อความที่นำมาตรวจสอบ เช่น “มา$” จะถือว่าคำต่อไปนี้ถูกตามเงื่อนไข  “ตามา” “ขอขมา” หรือแม้แต่คำว่า “หมา”  แต่คำว่า “ทำดี” จะไม่ผ่าน เพราะไม่ได้ลงท้ายด้วยคำว่า “มา” ตามเงื่อนไขนั่นเอง&lt;br/&gt;&lt;br/&gt;+&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;คำ/อักษรที่อยู่หน้าเครื่องหมายนี้ ต้องมีปรากฏในคำที่นำมาตรวจสอบ อย่างน้อย 1 ตัว เช่น “ท+” จะถือว่าคำต่อไปนี้ผ่านการตรวจสอบ เช่น “ทองจุล” “วันทนา” “ถนนหนทางทุกแห่ง”&lt;br/&gt;&lt;br/&gt;?&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;คำ/อักษรที่อยู่หน้าเครื่องหมายนี้ อาจะมีปรากฏในคำที่นำมาตรวจสอบ หรือไม่ก็ได้ ถ้ามีจะมีกี่ตัวก็ได้&lt;br/&gt;&lt;br/&gt;“ก?ข+$” หมายถึง อาจจะมีด้วยตัว ก และอักษรตัวสุดท้ายต้องมีตัว ข อย่างน้อย 1 ตัว (เครื่องหมาย + แสดงว่ามีอย่างน้อย 1 และ เครื่องหมาย $ แสดงว่าเป็นตัวสุดท้าย)&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;*&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;เหมือนกับ ?&lt;br/&gt;&lt;br/&gt; \s&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ช่องว่าง หรือ whitespace&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;.&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ใช้แทนตัวอักษรอะไรก็ได้&lt;br/&gt;&lt;br/&gt;·        “ก.[0-9]” หมายถึง ตัว ก ตามด้วยตัวอักษรอะไรก็ได้ และต่อด้วยเลขอารบิค เลข 0-9&lt;br/&gt;&lt;br/&gt;·        “^.{3}$” หมายถึง ต้องมีตัวอักษรเพียง 3 ตัวเท่านั้น เป็นตัวเลข ตัวอักษร ภาษาไทย ภาษาอังกฤษ ได้ทั้งนั้น&lt;br/&gt;&lt;br/&gt;[ ]&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ใช้ระบุตำแหน่งในคำว่า ในตำแหน่งนี้จะมีตัวอักษรอะไรได้บ้าง เช่น&lt;br/&gt;&lt;br/&gt;    * “[นร]” เป็นการกำหนดว่า คำที่นำมาตรวจสอบ ต้องเป็นตัว น หรือ ตัว ร เท่านั้นจึงจะผ่าน มีความหมายเช่นเดียวกับ “น|ร”&lt;br/&gt;    * “[ก-ค]” เป็นการบอกว่า คำที่นำมาจะต้องเป็น ตัว ก ข ค เท่านั้น เช่น ในกรณีเลขประจำตัวที่ขึ้นต้นด้วย ก ข หรือ ค เท่านั้น ถ้าพิมพ์ตัวแรกเป็นตัวอักษรตัวอื่นก็แสดงว่าพิมพ์ผิด เราจะเขียนได้ดังนี้ ^[ก-ค]&lt;br/&gt;    * “^[a-zA-Z]” เป็นการบอกว่า คำที่นำมาตรวจสอบต้องขึ้นต้นด้วยตัวอักษร จะเป็นตัวเล็ก คือ a ถึง z หรือ ตัวใหญ่ คือ A ถึง Z ก็ได้&lt;br/&gt;    * “[0-9๐-๙]%” เป็นการบอกว่า ให้มีตัวเลข 1 ตัว เลขอะไรก็ได้ เลข 0 ถึง เลข 9 เป็นได้ทั้งเลขไทยและอารบิค ต่อด้วยเครื่องหมาย %&lt;br/&gt;    * [ก-๙] ตัว ก ถึง ฮ รวมทั้งสระทุกตัว และ ตัวเลขไทย ๐ ถึง ๙&lt;br/&gt;    * [0-9๐-๙] เลข 0-9 ทั้งเลขไทยและฝรั่ง&lt;br/&gt;    * ^[0-9๐-๙]+$ ให้มีเฉพาะตัวเลข 0-9 เลขไทยหรือเลขฝรั่งก็ได้ แต่ห้ามมีตัวอักษรใด ๆ&lt;br/&gt;    * &quot;^[กข]{3}[-][0-9]$&quot; ขึ้นต้นด้วยตัว ก หรือ ข จำนวน 3 ตัว ต่อด้วยเครื่องหมาย – และจบด้วยตัวเลขอารบิค เลข 0-9 เช่น “กขก-5” “กกก-3” เป็นต้น สิ่งต่อไปนี้จะไม่ผ่านหรือเป็นเท็จ เช่น “กกกขข” เพราะ ตัวที่ 4 ไม่ใช้เครื่องหมาย – และตัวสุดท้ายไม่ใช่ตัวเลข  “ขขข-๘” ตัวเลขสุดท้ายเป็นเลขไทย&lt;br/&gt;&lt;br/&gt;ไม่ว่าตัวอักษร หรือสัญลักษณ์ใด ๆ ที่อยู่ภายในเครื่องหมาย [ ] จะกลายเป็นสัญลักษณ์ธรรมดา เช่น + กลายเป็นเครื่องหมายบวก แทนที่จะหมายถึงว่า ต้องมีตัวอักษรอย่างน้อย 1 ตัว&lt;br/&gt;&lt;br/&gt;{ }&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;แสดงจำนวนครั้งที่ซ้ำกัน เช่น&lt;br/&gt;&lt;br/&gt;    * “กข{2}” หมายถึงให้มีตัว ข จำนวน 2 ตัว เช่น  “กขข”&lt;br/&gt;    * “กข{2,} หมายถึงให้มีตัว ข อย่างน้อย 2 ตัว เช่น “กขขขข”&lt;br/&gt;    * “กข{3,5} หมายถึงให้มีตัว ข จำนวน 3-5 ตัวเท่านั้น คือ “กขขข” “กขขขข” และ “กขขขขข”&lt;br/&gt;&lt;br/&gt;( )&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ใช้รวมกลุ่มเข้าด้วยกันเป็นส่วนเดียวกัน เช่น&lt;br/&gt;&lt;br/&gt;    * “ก(ขค)*” หมายถึง ตัว ก และอาจจะตามด้วยตัว ขค หรือไม่มีตัว ขค ก็ได้ เครื่องหมาย * แสดงว่าจะมีหรือไม่ก็ได้&lt;br/&gt;    * “ก(ขค){1,5}” หมายถึง ตัว ก แล้วจะตามด้วย ขค จำนวน 1-5 ชุด เช่น “กขคขคขค” หรือ “กขคขค” ก็ได้&lt;br/&gt;&lt;br/&gt;|&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;เสนอทางเลือกอย่างใดอย่างหนึ่ง เช่น&lt;br/&gt;&lt;br/&gt;    * “การ|ความ” เป็นการบอกว่า จะใช้คำว่า การ หรือ ความ ก็ได้&lt;br/&gt;    * “(ก|ขค)งจ” เช่น กงจ หรือ ขคงจ ก็ได้&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;^[1-9][0-9]*$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ขึ้นต้นด้วยเลข 1-9 และอาจจะต่อด้วย เลข 0-9 กี่ตัวก็ได้ ในกรณีนี้ ถ้าเป็นเลข 0 ก็จะไม่ผ่าน จะผ่านตั้งแต่ 1 2 3 4 ไปเรื่อย ๆ&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;^(0|[1-9][0-9]*)$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;อาจจะขึ้นต้นด้วยเลข 0 หรือเลข 1-9 ก็ได้ และอาจจะต่อด้วยเลข 0-9 ในกรณีนี้ เราใช้ตรวจสอบการพิมพ์ที่เป็นตัวเลขตั้งแต่ 0 ขึ้นไป ถ้ามีตัวอักษร ก็จะไม่ผ่านการตรวจสอบ หรือ เป็นเท็จ นั่นเอง&lt;br/&gt;&lt;br/&gt;^(0|-?[1-9][0-9]*)$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;เหมือน ^(0|[1-9][0-9]*)$ เพียงแต่ ถ้าไม่ขึ้นต้นด้วยเลข 0 สามารถมีเครื่องหมาย ลบ ได้ หรือจะไม่มีเครื่องหมายลบ ก็ได้ เครื่องหมาย ? แสดงว่า จะมีหรือไม่มี ก็ได้&lt;br/&gt;&lt;br/&gt;^[0-9]+(\.[0-9]+)?$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ขึ้นต้นด้วย 0-9 อย่างน้อย 1 ตัว และอาจจะมี จุดและต่อด้วยตัวเลข 0-9 อย่างน้อย 1 ตัว  อย่างนี้ เป็นการบอกว่าจะทศนิยมหรือไม่มีก็ได้ (สังเกตเครื่องหมาย ? อยู่หลังกลุ่มทั้งหมดซึ่งอยู่ในวงเล็บ เป็นการบอกว่า กลุ่มนี้ คือ (\.[0-9]+) จะมีหรือไม่มีก็ได้) แต่จะมีแค่ จุดเฉย ๆ เช่น 15. อย่างนี้ไม่ได้ ต้องเป็น 15.2 หรือ 15.38 ก็ได้ (เพราะเครื่องหมาย + อยู่หลัง [0-9] แสดงว่า ตำแหน่งนี้ คือต่อจาก จุด ยังไง ๆ ก็ต้องมีตัวเลข 0 ถึง 9 อย่างน้อย 1 ตัว จะเป็น 2 ตัว 5 ตัว 10 ตัว ก็ได้)&lt;br/&gt;&lt;br/&gt;^[0-9]+(\.[0-9]{2})?$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;เหมือนข้างบน แต่บังคับว่า ถ้ามีทศนิยม ทศนิยมต้องมี 2 ตำแหน่งเท่านั้น เครื่องหมาย {} กำหนดว่าจะต้องมีซ้ำกี่ครั้ง&lt;br/&gt;&lt;br/&gt;^[0-9]+(\.[0-9]{1,2})?$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;เหมือนข้างบน แต่อนุญาตให้มีทศนิยม 1 หรือ 2 ตำแหน่ง สังเกตการเขียนตัวเลข ในระหว่างเครื่องหมาย { และ  }&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{1,2})?$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;ต้องขึ้นต้นด้วยตัวเลข 0-9 หรือ อาจจะตามด้วยเครื่องหมาย คอมม่า และตัวเลข 0-9 อีก 3 ตัว และอาจจะต่อด้วยทศนิยม 1 หรือ 2 ตำแหน่ง&lt;br/&gt;&lt;br/&gt;^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(\.[0-9]{1,2})?$&lt;br/&gt;	&lt;br/&gt;&lt;br/&gt;เหมือนข้างบน แต่กำหนดให้การมีเครื่องหมาย คอมม่า อาจจะมีหรือไม่มีก็ได้ วิธีกำหนดทางเลือกใช้เครื่องหมาย | แทนที่จะใช้ ? การเลือกใช้ต้องอยู่ที่เราจะตัดสินใจว่าจะเลือกใช้อะไรจึงจะเหมาะสม นี่แหละเสน่ห์ของการเขียนโปรแกรม มีวิธีการหลายอย่างที่จะได้มาซึ่งผลลัพธ์อย่างเดียวกัน แต่อย่างไหนจะเหมาะ ต้องเลือกดู เลือกใช้ให้เหมาะสม&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;สรุป&lt;br/&gt;&lt;br/&gt;คิดว่าเท่าที่ยกตัวอย่างมาก็คงจะพอเป็นสังเขป พอรู้จัก Regular expression และการใช้แล้ว สิ่งสำคัญอยู่ที่การคิดวิธีใช้ เช่นต้องการจะกำหนดเงื่อนไขอย่างไร เพื่อให้ได้เงื่อนไขที่เป็นจริง ข้อความที่ต้องการมีลักษณะอย่างไร เป็นต้น แต่ท้ายที่สุดแล้ว บางครั้งก็จำเป็นที่เราจะต้องตรวจสอบด้วยตัวเองอีกครั้ง การกำหนดเงื่อนไข ถ้าผู้ใช้เดาลักษณะเงื่อนไขได้ ก็สามารถที่จะพิมพ์หรือกำหนดข้อความให้ผ่านการกรองได้เหมือนกัน ดังนั้นดีที่สุดจึงต้องมีการตรวจสอบดูอีกครั้ง&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;* ความรู้พื้นฐาน: PHP เบื้องต้น และ การสร้าง function&lt;br/&gt;&lt;br/&gt;** หมายเหตุ ใน PHP มีฟังชั่นที่เกี่ยวกับ regular expression อยุ่ 2 แบบ คือ แบบ Perl5 และแบบ Posix ในบทความนี้จะเอาเฉพาะแบบ Posix เท่านั้น ถ้าต้องการศึกษาแบบ Perl 5 ให้ดูที่ PHP.net&lt;br/&gt;&lt;br/&gt;Credit : อ. ทองจุล ขันขาว&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/08/regular-expression-php.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-3583174396059023838</guid><pubDate>Mon, 17 Aug 2009 09:49:00 +0000</pubDate><atom:updated>2009-08-17T02:49:58.296-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP Scripts</category><title>Form สำหรับ การส่ง Email ด้วยเอกสาร html และการตั้ง smtp</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;################### ส่วนนี้เป็นส่วนที่ใช้ set smtp server โดยให้ตั้งค่า smtp ตาม server ที่ใช้บริการอยู่ เช่น host ใช้ cs ก็ต้องเป็น smtp ของ cs เป็นต้น########################&lt;br/&gt;&lt;br/&gt;ini_set(&quot;SMTP&quot;,&quot;smtp.truemail.co.th&quot;); &lt;br/&gt;ini_set(&quot;port&quot;,&quot;25&quot;);&lt;br/&gt;&lt;br/&gt;##################### ส่วนการส่ง email&lt;br/&gt;$emailto = &quot;$cardEmail&quot;;&lt;br/&gt;//$emailto = &quot;casnoboy@hotmail.com&quot;;&lt;br/&gt;$email_from=&quot;info@xxx.com&quot;;&lt;br/&gt;$subject= &quot;card Register Form : $cardName&quot;;&lt;br/&gt;$header  = &quot;MIME-Version: 1.0\r\n&quot;;&lt;br/&gt;$header .= &quot;Content-type: text/html; charset=tis-620\r\n&quot;;  //&amp;lt;&amp;lt;&amp;lt; ตัว font format&lt;br/&gt;$header .= &quot;Clubcard Register from : $ClubcardName&quot;;&lt;br/&gt;$messages.= &quot;&amp;lt;br&amp;gt;Register Form By : $ClubcardName \n\n&quot;;&lt;br/&gt;$messages.= &quot;&amp;lt;br&amp;gt;Link to card Register Form at : &amp;lt;a href=&#39;http://www.xxx.com/pdf/clubcard_$lang.php?id=$number&#39;&amp;gt;Click here to your card form&amp;lt;/a&amp;gt; \n\n &quot;;&lt;br/&gt;$messages.= &quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;------------------------------------------------------------ \n\n &quot;;&lt;br/&gt;$messages.= &quot;&amp;lt;br&amp;gt;Auto email System Please do not reply this email. \n\n &quot;;&lt;br/&gt;$messages.= &quot;&amp;lt;br&amp;gt;visit our site at : http://www.xxx.com \n\n &quot;;&lt;br/&gt;$messages.= &quot;&amp;lt;br&amp;gt;Thank you \n\n &quot;;&lt;br/&gt;mail($emailto,$subject,$messages,$header);&lt;br/&gt;&lt;br/&gt;##################################&lt;br/&gt;&lt;br/&gt;แค่นี้ก็เสร็จสำหรับ เอาไว้ส่งเมล์&lt;br/&gt;แท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/email&#39; class=&#39;performancingtags&#39;&gt;email&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/ini_set&#39; class=&#39;performancingtags&#39;&gt;ini_set&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/smtp%20server&#39; class=&#39;performancingtags&#39;&gt;smtp server&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/send%20email%20html&#39; class=&#39;performancingtags&#39;&gt;send email html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=72c85c11-c08c-8c09-8f7e-00e5a78ec879&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/08/form-email-html-smtp.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-1299216471940057477</guid><pubDate>Mon, 17 Aug 2009 09:25:00 +0000</pubDate><atom:updated>2009-08-17T02:26:00.953-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">plawan</category><title>วิธีการแก้ไขค่า session time สำหรับ Plawan Central Log</title><description>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;วิธีการที่ผมแก้ไขไฟล์ดังนี้ (อาจไม่ถูกหลักวิชาเอาเป็นว่าลองดูแล้วมันใช้ได้)&lt;br /&gt;แก้ไขไฟล์ /etc/chilli/defaults ด้วยเครื่องมือ แก้ไขข้อความในที่นี้คือโปรแกรม pico หรือ nano&lt;br /&gt;กดเมาส์ปุ่มขวา เลือกที่ Applications &amp;gt; Shells &amp;gt; Bash หรือใช้วิธี remote ด้วย ssh เข้าไปก็ได้เช่นกัน)&lt;br /&gt;ตรวจดูไฟล์ใน /etc/chilli ดังนี้&lt;br /&gt;&lt;br /&gt;$ ls /etc/chilli&lt;br /&gt;ผล&lt;br /&gt;defaults down.sh functions hs.conf local.conf main.conf up.sh www wwwsh&lt;br /&gt;&lt;br /&gt;ก่อนแก้ไขไฟล์ ทางเชลล์ ต้องเปลี่ยนรหัสผ่านของ root ก่อน ด้วยคำสั่งดังนี้&lt;br /&gt;$ sudo passwd&lt;br /&gt;เปลี่ยนรหัสผ่านให้เรียบร้อย &lt;br /&gt;จากนั้นให้เข้าด้วย root หากไม่เป็น root จะไม่สามารถแก้ไขไฟล์ได้&lt;br /&gt;$ su root&lt;br /&gt;มันถาม password ใส่เข้าไป จากนั้นพิมพ์&lt;br /&gt;&lt;br /&gt;cp /etc/chilli/defaults /etc/chilli/defaults-dist   //เพื่อสำเนาต้นฉบับเดิมไว้&lt;br /&gt;&lt;br /&gt;แก้ไขบรรทัด ด้วยคำสั่ง pico /etc/chilli/defaults หรือ nano /etc/chilli/defaults&lt;br /&gt;&lt;br /&gt;HS_DEFSESSIONTIMEOUT=0 # Default session-timeout if not defined by RADIUS (0 for unlimited)&lt;br /&gt;HS_DEFSESSIONTIMEOUT=7200 # Default session-timeout if not defined by RADIUS (0 for unlimited)&lt;br /&gt;HS_DEFIDLETIMEOUT=0 # Default idle-timeout if not defined by RADIUS (0 for unlimited)&lt;br /&gt;HS_DEFIDLETIMEOUT=300 # Default idle-timeout if not defined by RADIUS (0 for unlimited)&lt;br /&gt;&lt;br /&gt;กด Ctrl+O แล้วEnter เพื่อseve&lt;br /&gt;แก้ไขเสร็จให้บันทึกไฟล์ แล้วรีบูตเครื่องคอมพิวเตอร์&lt;br /&gt;&lt;br /&gt;credits : hackkub from plawan.comแท็ก Technorati &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/plawan&#39; class=&#39;performancingtags&#39;&gt;plawan&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/ปลาวาฬ&#39; class=&#39;performancingtags&#39;&gt;ปลาวาฬ&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/central log&#39; class=&#39;performancingtags&#39;&gt;central log&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/log system&#39; class=&#39;performancingtags&#39;&gt;log system&lt;/a&gt;, &lt;a rel=&#39;tag&#39; href=&#39;http://technorati.com/tag/setting plawan&#39; class=&#39;performancingtags&#39;&gt;setting plawan&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=fe7c9fe9-ad33-82e1-bf00-12648669f38e&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://casnoboy-meeja.blogspot.com/2009/08/session-time-plawan-central-log_17.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-5531095150898611139</guid><pubDate>Sun, 31 Aug 2008 10:27:00 +0000</pubDate><atom:updated>2008-08-31T03:28:41.541-07:00</atom:updated><title>“กฎ 23 ข้อ” ทำให้เว็บน่าสนใจ</title><description>เป็นกฎง่ายๆ ที่บางครั้งเหมือนเส้นผมบังภูเขา ทำตามได้ไม่ยาก เพื่อให้เว็บไซต์เป็นที่ดึงดูดของผู้ใช้มากที่สุด&lt;br /&gt;กรุงเทพธุรกิจ ออนไลน์ : กฎ 23 ข้อดังต่อไปนี้ เป็นการวิจัยของ 3 สถาบัน ได้แก่ The Poynter Institute, the Estlow Center for Journalism &amp;amp; New Media, และ Eyetools ภายใต้โครงการ “The Eyetrack III” ซึ่งศึกษาถึงกลยุทธ์การออกแบบเว็บไซต์เพื่อดึงดูดความสนใจของผู้ใช้ให้มากที่สุด&lt;br /&gt;1. ตัวอักษรดึงดูดความสนใจได้เร็วกว่าภาพหรือกราฟฟิค&lt;br /&gt;2. จุดแรกที่สายตามองคือ มุมซ้ายบนของหน้าเว็บ&lt;br /&gt;3. ผู้ใช้จะมองไปที่มุมซ้ายบนของเว็บไซต์ ก่อนที่จะเลื่อนสายตาลงมาด้านล่างขวาเรื่อยๆ&lt;br /&gt;4. ผู้ใช้ส่วนใหญ่ไม่สนใจมองแบนเนอร์โฆษณา&lt;br /&gt;5. รูปแบบเว็บไซต์และตัวอักษรที่มีสีสันสะดุดตา มักไม่ได้รับความสนใจจากผู้ใช้&lt;br /&gt;6. แสดงข้อมูลเป็นตัวเลข จะดึงดูดสายตามากกว่าเขียนเป็นตัวอักษร&lt;br /&gt;7. ขนาดตัวอักษรมีผลต่อพฤติกรรมการใช้เว็บ โดยตัวอักษรเล็กๆ จะทำให้คนอ่านอย่างละเอียด ขณะที่ตัวอักษรใหญ่ ทำให้คนมองเป็นอันดับแรก&lt;br /&gt;8. คนส่วนใหญ่อ่านพาดหัวรอง ในกรณีที่น่าสนใจจริงๆ&lt;br /&gt;9. คนมักจะอ่านส่วนล่างของหน้าเว็บแบบผ่านๆ&lt;br /&gt;10. ประโยคหรือย่อหน้าสั้นๆ ดึงดูดความสนใจของคนอ่านมากกว่า&lt;br /&gt;11. รูปแบบเว็บไซต์ที่มีแถวแนวตั้งแถวเดียว ดึงดูดสายตามากกว่าหลายแถว&lt;br /&gt;12. แบนเนอร์โฆษณาที่อยู่บริเวณบนสุดและซ้ายสุด จะดึงดูดสายตามากที่สุด&lt;br /&gt;13. การวางโฆษณาใกล้กับคอนเทนท์ที่ดีที่สุด จะได้รับความสนใจจากผู้ใช้ค่อนข้างมาก&lt;br /&gt;14. โฆษณาแบบตัวอักษรได้รับความสนใจมากกว่าโฆษณาแบบภาพหรือกราฟฟิค&lt;br /&gt;15. ภาพยิ่งใหญ่ ยิ่งดึงดูดความสนใจได้มาก&lt;br /&gt;16. ภาพที่ชัด ดูง่าย และถ่ายบุคคลจริงๆ จะได้รับความสนใจจากคนดู มากกว่าภาพประเภทดีไซน์จัดๆ ภาพนามธรรม (abstract) หรือภาพนายแบบ-นางแบบ&lt;br /&gt;17. หน้าเว็บไซต์ก็เหมือนหน้าหนึ่งหนังสือพิมพ์ เพราะฉะนั้น พาดหัวจะได้รับความสนใจมากที่สุด&lt;br /&gt;18. คนส่วนใหญ่มักจะสนใจหัวข้อและเมนูต่างๆ ในเว็บไซต์&lt;br /&gt;19. ถ้ามีบทความยาวๆ ในเว็บไซต์หรือบล็อก หากแยกเนื้อหาออกเป็นข้อๆ จะได้รับความสนใจจากผู้อ่านมากขึ้น&lt;br /&gt;20. ผู้ใช้มักจะไม่อ่านบทความที่ติดกันยาวๆ หลายบรรทัด ดังนั้น ถ้าบทความยาวมาก ควรแตกเป็นย่อหน้าย่อยๆ&lt;br /&gt;21. การดึงความสนใจของคนให้อ่านบทความให้มากและนานที่สุด คือการใช้รูปแบบตัวอักษรที่แตกต่างกันไป เช่น ตัวหนา ตัวใหญ่ ตัวเอียง ตัวขีดเส้นใต้ หรือตัวอักษรสีต่างๆ แต่ไม่ควรใช้มากเกินไป เพราะทำให้ผู้อ่านหมดความสนใจเช่นกัน&lt;br /&gt;22. เว้นที่ว่างบนหน้าเว็บบ้างก็ดี ไม่ต้องใส่ข้อมูลหรือภาพบนทุกอณูของเว็บก็ได้&lt;br /&gt;23. ปุ่ม navigation ควรวางไว้บนสุดของหน้าเว็บ เพื่อช่วยเหลือผู้ใช้ได้ง่ายที่สุด&lt;br /&gt;&lt;br /&gt;myfeed &lt;a class=&quot;popup&quot; href=&quot;http://feeds.feedburner.com/blogspot/nwQx&quot; target=&quot;_blank&quot;&gt;http://feeds.feedburner.com/blogspot/nwQx&lt;/a&gt;&lt;a class=&quot;popup&quot; href=&quot;http://feeds.feedburner.com/blogspot/nwQx&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;</description><link>http://casnoboy-meeja.blogspot.com/2008/08/23.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3772129005572434612.post-803243967548275557</guid><pubDate>Sat, 30 Aug 2008 14:47:00 +0000</pubDate><atom:updated>2008-08-30T07:52:07.059-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bazaar</category><category domain="http://www.blogger.com/atom/ns#">flex</category><category domain="http://www.blogger.com/atom/ns#">ruby</category><title>Bangkok Barcamp 2 (2008)</title><description>วันนี้เป็นอะไรที่เหนื่อยมาก แต่ก็ได้ความรู้เยอะ ที่น่าฉงนก็คือ bzr = bazaar สิ่งที่ผมได้คือ keywords นี้ แปลกที่ไม่ค่อยมีคนสนใจ คนแห่ไปฟังเรื่องอื่นซะงั้น ทั้งๆที่พอกลับมาดูรายละเอียดอีกที โอ้ว น่าสนใจมากๆครับ ก็เลยรู้สึกว่าตัวเองคิดไม่ผิดที่เลือกฟังเรื่องนี้ (เพราะเราเองก็ไม่รู้อยู่แล้วนี่นา) และอีกเรื่องวันนี้  คุณข่าก็เอา resort พัฒนาด้วย ruby +Flex,ajax มาให้ดู โอ้ว สุดยอดครับพี่น้อง อยากมีไว้ใช้เหมือนกัน แต่ผมก็ยังรัก Grails อยู่นะ ต่อไปคงต้องดูอ่ะครับว่า... มันจะไปในทิศทางไหน</description><link>http://casnoboy-meeja.blogspot.com/2008/08/bangkok-barcamp-2-2008.html</link><author>noreply@blogger.com (meeja)</author><thr:total>0</thr:total></item></channel></rss>