Codeans.com – คำตอบของการเขียนเว็บไซต์

สอนเขียนเว็บไซต์ ด้วย HTML, PHP, Javascript, CSS, AJAX, MySQL

Archive for the 'PHP' Category

ฟังก์ชั่น หาค่า User-agent ด้วย PHP

12345678910111213141516171819202122232425262728293031323334353637383940<?php /*  * Return value  * m is mobile  * s is smartphone  * pc is pc  */ function is_device(){     $user_agent = $_SERVER[’HTTP_USER_AGENT’]; // get the user agent value – this should be cleaned to ensure no nefarious input gets executed     $accept     = $_SERVER[’HTTP_ACCEPT’]; // get the content accept more »

2 February 2012 at 16:41 - Comments

การเพิ่ม rewrite rule ใน wordpress

เราจะเพิ่มเติม rewrite rule กรณีที่ต้องการให้ page บางเพจ สามารถรองรับการส่งค่าตัวแปรผ่าน QueryString  ดังตัวอย่างนี้ สมมติว่าเราสร้าง Page => gallery ขึ้นมาและมี URL เป็น http://www.codeans.com/gallery โดยหน้านี้จะมีการแสดงผลรูปในแกลลอรี่ทั้งหมด แต่ถ้าเราต้องการให้หน้านี้แสดงรูปในแกลเลอรี่แยกตามเดือน เราจะต้องทำการส่งค่า เดือน(และปี) ตามไปด้วย  โดย URL ที่เราต้องการส่งค่าจะเป็น http://www.codeans.com/gallery/date/2011/10   วิธีการทำก็คือ – ไปที่ไฟล์ functions.php ของ theme หลัก – ทำการเพิ่มเติม Rewrite rule ตามนี้   123456789101112131415161718192021222324252627282930<p>// ************* Custom gallery archive</p> <p>add_filter( &#39;rewrite_rules_array&#39;,&#39;my_insert_rewrite_rules&#39; );</p> <p>add_filter( &#39;query_vars&#39;,&#39;my_insert_query_vars&#39; );</p> <p>add_action( &#39;wp_loaded&#39;,&#39;my_flush_rules&#39; );</p> <p>&nbsp;</p> more »

11 October 2011 at 10:53 - Comments

จัดเลย์เอาต์ของหน้าเพจและหน้าคอนเท็นต์ด้วย Multiple content blocks ใน wordpress

  จัดเลย์เอาต์ของหน้าเพจและหน้าคอนเท็นต์ด้วย plug-in Multiple content blocks ใน wordpress. ทำได้ง่าย ๆ ตามขั้นตอนดังนี้ ดาว์นโหลด plug-in ได้ที่นี่ http://wordpress.org/extend/plugins/multiple-content-blocks ติดตั้งโดย unzip ไฟล์ปลั๊กอินไปที่   1/wp-content/plugins/multiple-content/ Activate plug-in แทรกโค๊ด <?php the_block('blockname'); ?> ในเท็มเพลต ใน (Page หรือ Post) ที่ต้องการ เมื่อสร้าง/แก้ไข page หรือ post จะปรากฏบล็อกที่เราได้เพิ่มเข้าไปที่ด้านล่าง.      

7 September 2011 at 15:00 - Comments

การตรวจสอบข้อมูลอินพุต หรือ validate ด้วย Regular expression

การกรองข้อมูลหรือ validate data เป็นขั้นตอนที่โปรแกรมเมอร์ จำเป็นต้องสร้าง อัลกอริทึมเพื่อมารองรับงานด้านนี้ ซึ่งโดยปกติสามารถทำได้ทั้งส่วนที่เป็นโค้ดดิ้งทั้งทางด้าน client side script และ server side script โดยครั้งนี้ผมจะนำเสนอ วิธีการ validate data โดยใช้ PHP script ด้วยการใช้ Regular expression

6 November 2009 at 12:53 - Comments

PHP สคริปต์สำหรับหาค่า ตัวแปร ใน Querystring ของ URL.

ปกติแล้วสำหรับการหาค่า ตัวแปร Qeurystring ของ URL (ในเพจปัจจุบัน) สามารถทำได้โดย การเรียกใช้ตัวแปร $_GET ซึ่งจะเก็บตัวแปรต่างๆ ของ Querystring ในรูปแบบของ array แต่ถ้าต้องการหาค่า Querystring ของ URL อื่น ๆ จะทำอย่างไร มาดูกันครับ โจทย์ ให้หาค่าตัวแปร Querystring ของ URL => http://www.codeans.com/store.php?location=surat&shop=0&sales_id=86 [code] <?php $url =http://www.codeans.com/store.php?location=surat&shop=0&sales_id=86; $lastUrl =parse_url($_SERVER['HTTP_REFERER']); parse_str($lastUrl['query'], $lastGet); // show result print "<pre>"; print_r($lastGet); ?> [/code] จะเห็นว่าโปรแกรมจะคืนค่า querystring ให้ตัวแปร $lastGet ในรูปแบบของอาร์เรย์

21 September 2009 at 14:28 - Comments

วิธีสร้าง subdomain โดยใช้ mod rewrite ของ apache ครับ

ครับ กรณีนี้มีคนรีเควสเยอะมากมาย บางที่ก็ให้คำตอบ(แต่มักจะไม่ค่อยครบถ้วนเท่าไหร่) เอาเป็นว่าลองอ่าน article นี้แล้วกัน การทำ subdomain โดยใช้ mod rewrite ของ apache นั้น จุดประสงค์ก็มีหลายอย่าง เช่น เพื่อทำให้โดเมนของ ผู้ใช้ระบบดูน่าเชื่อถือมากขึ้น, บางท่านบอกว่าทำให้ SEO ดีขึ้น โจทย์ : จงสร้าง subdomain ให้ user “domori” ในเว็บ blogs.com (โดยปัจจุบันการอ้างถึง user “domori” ใน blogs.com ทำโดยการเรียก http://www.blogs.com/member.php?user=domori) วิธีการทำมีดังนี้ 1. ก่อนอื่นต้องทำการสร้าง wildcard(*) ใน zone ของ blogs.com ก่อนครับ (โดยคนที่จดโดเมนของ registrar ต่างประเทศเช่น Godaddy.com, Name.com สามารถเข้าไปแก้ไขในส่วนของ DNS management ได้เลย แต่สำหรับการจดผ่าน ผู้ให้บริการในไทย more »

10 July 2009 at 18:23 - Comments

ฟังก์ชั่น PHP สำหรับ ลบโฟลเดอร์ ที่มีไฟล์อยู่ภายใน (Delete not empty folder).

ปกติบน ยูนิกส์นั้น การ ลบ ไฟล์หรือโฟลเดอร์สามารถทำได้โดยใช้คอมมานต์ [code] rm -rf {file | folder} [/code] แต่สำหรับการลบ โฟลเดอร์ นั้นอาจจะเป็นเรื่องที่น่าปวดหัวยิ่ง เนื่องจากฟังก์ชั่นในการลบ คือ rmdir นั้น. จะสามารถใช้ได้ก็ต่อเมื่อ โฟลเดอร์นั้นว่าง (ไม่มีไฟล์หรือโฟลเดอร์ย่อยภายใน) เอาหล่ะครับ อย่าเพิ่งถอดใจ ผมมีฟังก์ชั่นดีๆ มาเสนอทุกท่าน…. ไปดูโค๊ดกันเลย…. [code] <?php function rm($fileglob){ if (is_string($fileglob)) { if (is_file($fileglob)) { return unlink($fileglob); } else if (is_dir($fileglob)) { $ok = rm("$fileglob/*"); if (! $ok) { return false; } return more »

2 June 2009 at 17:04 - Comments

สมมติว่าต้องการเปลี่ยนชื่อเว็บไซต์แต่ต้องการให้ Ranking ใน Search engine เหมือนเดิม

ปกติแล้วถ้ามีการเปลี่ยนชื่อ โดเมนเนม เช่นจาก aaa.com เป็น bbb.com มักจะทำการเปลี่ยนโดยเพิ่ม meta redirect ในส่วนของ HTML header ซึ่งวิธีการนี้จะ่ส่งผลต่อ ranking ใน search engine อย่างแรงครับ แต่ก็มีวิธีแก้เสมอครับ คือ search engine แนะนำว่าถ้าจะเปลี่ยนชื่อโดเมน โดยค่า Ranking ใน search engine เหมือนเดิม สามารถทำได้โดยการ Redirect header แบบ permanat ครับ วิธีการที่แนะนำสำหรับ webmaster ที่ใช้ PHP & HTML บน Apache web server คือ 1. เขียน PHP SCRIPT (แปะที่หัวไฟล์) ดังนี้ [code] <? Header( more »

24 February 2009 at 11:46 - Comments

ฟังก์ชั่นส่งเมล โดย PHP ส่งได้ทุกภาษา รับได้ทุกเมลเลอร์

ฟังก์ชั่นนี้ ใช้สำหรับการส่งเมล ซึ่งรองรับทั้งการอ่าน แบบ เท็กซ์ และไฮเปอร์เท็กซ์ โดยใช้ PHP รับรองส่งได้ทุกภาษาไม่ว่าจะเป็น ไทย , ญี่ปุ่น, อังกฤษ, ภาษารัก (อันนี้นอกเรื่อง) และได้ทดสอบแล้วว่ารับได้กับทุกเมลเลอร์ ไม่ว่าเป็น Gmail, Hotmail, Yahoo, Squirellmail, Outlook, Becky, Moz Thunderbird etc. ผลที่ออกมาตือ เมลไม่มีทางเพี้ยน เพราะเขียนโดยอ้างอิงมาตรฐาน RFC822 ของการส่งเมล ไปดูกันเลย เริ่ม แรกเขียนฟังก์ชั่นตามนี้ [code lang="php"] function sendMail($email, $frommail, $subject, $message, $cType='html',$CC="",$BCC=""){ $subject ="=?UTF-8?B?".base64_encode($subject)."?="; $headers ="From:".$frommail."\n"; if($CC!=""){ $headers .="CC: ".$CC."\n"; } if($BCC !=""){ $headers .="BCC: more »

4 February 2009 at 17:41 - Comments

mod rewrite สำหรับ รับค่า $_GET จาก URL .html

[ENGLISH DEV] many people ask some question, How to make rewrite rule in .htaccess with mod_rewrite in apache. the rule use to get query string from .html url, i try to make this with few time and i found how to solve this problem, follow this. – Firstly make .htaccess file. – For get querystring more »

9 January 2009 at 15:23 - Comments

การตรวจสอบ ตัวอักษร 2 ไบท์ (Multi-byte validator)

บางครั้งการพัฒนาเว็บแอพพลิเคชั่น ที่ต้องเกี่ยวข้องกับ multi-byte language เช่น ภาษาญี่ปุ่น, รัสเซีย อาจจะต้องมีการ validate จำนวนไบต์(ขนาด) ของอักขระ,, ลองเอาตัวอย่างไปลองดูครับ [code lang="php"] [/code]

23 December 2008 at 15:16 - Comments

ปัญหาจากการใช้ Object Files ผ่าน Form โดย PHP (error handling upload files)

พอดีมีน้องคนสวยเจอปัญหาในการเขียนเว็บไซต์ คือใช้ Object Files สำหรับส่งไฟล์ผ่านฟอร์ม แต่ตอนรับ กลับรับค่าไม่ได้เลย โดยน้องเค้าส่งเออเรอร์ที่ดีบั๊กได้มาให้ดังนี้ Array ( [products_image] => Array ( [name] => map.jpg [type] => [tmp_name] => [error] => 6 [size] => 0 ) ) จากเออเรอร์ด้านบนจะเห็นว่าเป็นเออเรอร์ประเภทที่ 6 ซึ่งเออเรอร์ Handling files upload errors จะมีอยู่ 8 แบบคือ UPLOAD_ERR_OK (0) หมายถึงไม่พบเออเรอร์ UPLOAD_ERR_INI_SIZE (1) หมายถึงเออเรอร์เกี่ยวกับขนาดไฟล์ มีขนาดไม่เป็นไปตามคุณสมบัติของเซิร์ฟเวอร์ (upload_max_filesize ใน php.ini or .htaccess) UPLOAD_ERR_FORM_SIZE (2) หมายถึงเออเรอร์เกี่ยวกับคุณสมบัติของฟอร์มที่สามารถทำได้ (MAX_FILE_SIZE more »

18 November 2008 at 14:37 - Comments

อยากได้ URL ที่สวย ๆ สำหรับ SEO ด้วย .HTACCESS

ก่อนอื่นเรามาดูกันก่อนว่าทำไปเพื่ออะไร ประเด็นสำคัญ ๆ หลักคือ มันเป็นวิธีการที่ทำให้เซิร์ทเอ็นจิ้น โดยเฉพาะกูเกิ้ลชอบ โดยวิธีการเปลี่ยน URL โดยอาศัยความสามารถของ mod_rewrite ของ apache webserver, โดยปกติเว็บเซิร์ฟเวอร์หรือโฮสติ้งที่เราใช้กันอยู่จะมีไฟล์อยู่ตัวหนึ่ง ชื่อ .htaccess ไฟล์นี้ทำอะไรเอ๋ย ? ไฟล์นี้ทำหน้าเป็นตัวคอนฟิกเซิร์ฟเวอร์ที่เราใช้อยู่แต่เป็นระดับ ยูสเซอร์เท่านั้นน่ะครับ (ไว้เจาะลึกกันวันหลังน่ะครับ) มาดูสิ่งที่เราจะทำกันก่อน สมมติเดิมที่ URL ที่เราใช้อยู่คือ http://www.codeans.com/products.php?mainid=1&id=23&plist=1 แต่เราจะเป็น URL ใหม่เพื่อทำ SEO ให้เป็นดังนี้ http://www.codeans.com/products/mainid/1/id/23/plist/1.htm ถามว่าจะทำอย่างไร เริ่มที่ ทำการเปิดไฟล์ .htaccess มาเพื่อแก้ไข [code lang="php"] Options -Indexes Options +FollowSymLinks RewriteEngine On RewriteRule products/mainid/(.*)/id/(.*)/plist/(.*).html products.php?mainid=$1&id=$2&plist=$3 [/code] หลังจากนั้นทำการบันทึกไฟล์้ .htaccess ก็เป็นอันเสร็จ สำหรับวิธีการใช้งานสมมติว่าที่กน้า โฮมเพจเราต้องการให้มีลิ้งก์ไปที่หน้า product more »

14 October 2008 at 11:29 - Comments

ใช้ CURL สำหรับเปิดหรือเก็บคอนเท็นต์ของเว็บไซต์อื่น ๆ

บางครั้งหลายเว็บไซต์อาจจะมีการเขียนสคริปต์ไปดึงข้อมูลคอนเท้นต์จากเว็บไซต์อื่น ๆ โดยปกติจะมี 2-3 วิธี (ใน PHP) คือ 1. ใช้ฟังก์ชั่น file_get_contents(“http://www.livescore.com”); 2. ใช้ฟังก์ชั่น socket คือ fsockopen(“http://www.livescore.com”, “80″); 3. วิธีสุดท้ายซึ่งเป็นวิธีที่ผมคิดว่าดีที่สุด คือใช้ ฟังก์ชั่นของ CURL วิธีนี้มีการใช้กันมากในเรื่องของการใช้ web service ใน PHP4 ข้อกำหนดพื้นฐานคือเว็บเซิร์ฟเวอร์ที่ใช้ทำต้องเปิดให้ใช้งาน extension curl ซะก่อน สำหรับคนที่เช่าโฮสต์ ก็เขียนเมลบอกให้ แอ็ดมินเปิดให้ก็ได้, สำหรับคนที่จะลองกับเว็บเซิร์ฟเวอร์ในเครื่องที่บ้าน ให้ไปแก้ไขไฟล์ php.ini หาคำว่า “;extension=php_curl.dll” ให้เอา “;” ออก แล้วทำการรีสตาร์ท apache ใหม่ ต่อไปมาดูกันว่า extension curl ได้ถูกเปิดใช้หรือยัง ให้ไปไปดูไฟล์ PHPINFO จะเห็นตามรูปด้านล่างนี้ หลังจากทุกอย่างเรียบร้อยแล้ว ที่นี่เราจะมาเขียนเก็บคอนเท็นต์จาก livescore.com more »

8 October 2008 at 16:55 - Comments

สคริปต์ PHP สำหรับอ่าน XML แบบง่าย ๆ

สำหรับผู้ที่สนใจจะดึงข้อมูลจากพวก RSS feed. จึงอยากจะขอแนะนำสคริปต์ XML parser แบบง่าย ๆ ลองดูสคริปต์ข้างล่างน่ะครับ * สำหรับ (PHP 5) เท่านั้นครับ [code lang="php"] children() as $child) { echo " "; print " "; print " ".$child->HNAME."".(($child->HPROMO=='YES')? " [Recommend] ":"")." ".$child->HLOCATION." Breakfast : ".$child->HINCLABF." - 10% Service : ".$child->HINCLSVC." - 7% gov.VAT : ".$child->HINCLVAT." "; print " ".$child->HRATE." "; echo " "; } more »

3 October 2008 at 11:08 - Comments

PHP เคล็ดลับของการทำเว็บไซต์ที่จ่ายเงินน้อยที่สุด

ถ้าพูดถึงเว็บไซต์ที่มีในปัจจุบันคงไม่มีใครไม่รู้จัก เว็บไซต์ที่พัฒนาด้วย PHP ไม่ว่าจะเป็นเว็บ E-commerce, Blog, Community, Wiki เหล่านี้ส่วนใหญ่ก็ถูกพัฒนาด้วย PHP ทั้งนั้น จึงเกิดคำถามว่า PHP มีดีที่ตรงไหน.. มาดูคำตอบกันครับ ทำไมต้อง PHP ? – ใช้งบประมาณน้อยมาก เนื่องจากตัว PHP เองเป็น Server side script ประเภท Opensource คือให้อิสระในการนำไปใช้งาน ตรงทำให้งบประมาณในการสร้างเว็บไซต์ต่ำลง จะมีเสียค่าใช้จ่ายบ้างในเรื่องของค่าบริการ Web hosting แต่ก็ไม่มากมายน่ะ รวมถึงค่าใช้จ่ายที่เกิดจากการจ้างพนักงานมาพัฒนาระบบก็ถูกเมื่อเปรียบเทียบกับสคริปต์อื่น ๆ – ง่ายในการพัฒนา เนื่องจาก PHP เป็นภาษาที่เป็นที่นิยมกันทั่วโลก จึงทำให้เราหาแหล่งความรู้ต่าง ๆ เกี่ยวกับ PHP ได้ง่ายขึ้น เช่นจาก Community หรือ forum ต่าง ๆ – คุณภาพดี เท่าที่เคยใช้งานภาษาต่าง more »

21 September 2008 at 16:38 - Comments