PHP
Display block on specific terms in Drupal 6.x
May 16, 2009 - 10:49am | by poakpongIf you want to show block by specific terms each node in drupal 6.x. You can use php condition for display your block.
- Go to Administer > Sites building > Block
- Configure your block
- Open Page specific visibility settings > Show if the following PHP code returns TRUE (PHP-mode, experts only). and paste this code.
<?php
if (arg(0)=='node' && is_numeric(arg(1)) ) {
$terms = taxonomy_node_get_terms(node_load(arg(1)));
foreach($terms as $term) {
if (in_array($term->name, array('term1_name', 'term2_name'))) {
return TRUE;
}
}
}
return FALSE;
?>
NOTE: You can change $term->name (for term name) to $term->tid (for term id).
Special thanks: @noomz
More information: taxonomy_node_get_terms (api.drupal.org)
Related story: Display Block on a Specific Content Type in Drupal 6.x (musida.web.id)
หาความกว้างหน้าจอด้วย javascript แล้วส่งให้ php ทำงานต่อ
September 10, 2008 - 9:59pm | by poakpongต้องการหาขนาดความกว้างหน้าจอของคนที่เปิดดูเว็บไซต์ ค้นหาจาก google พบคำสั่ง javascript ในการตรวจหาความกว้างและความสูง แต่ที่ผมอยากได้คือให้นำค่าที่ได้ไปใช้งานต่อได้ใน php อีกทอดหนึ่ง
@FordAntiTrust แนะนำว่าให้ส่งค่าผ่านทาง Cookies (ยิ่งงงเข้าไปอีก ฮาา)
ค้นหาอีกรอบได้คำสั่งมาดังนี้ :
ชุดแรกใส่ใน <head> ทำการสร้าง cookies ขึ้นมาแล้วส่งไปยังหน้าที่เราใช้งาน (ก็คือหน้าที่เราต้องการใช้งานนั่นแหละ)
<?php
if(isset($HTTP_COOKIE_VARS["users_resolution"]))
$screen_res = $HTTP_COOKIE_VARS["users_resolution"];
else //means cookie is not found set it using Javascript
{
?>
<script language="javascript">
<!--
writeCookie();
function writeCookie()
{
var the_cookie = "users_resolution="+ screen.width;
document.cookie=the_cookie
location = 'document.php';
}
//-->
</script>
<?php
}
?>
ในส่วน <body> ก็ echo php ตามปกติ
<?php
echo "Your screen resolution is ". $screen_res;
?>
reference: Find Screen Resolution With PHP | PHP Magic Book
ปล.ใครมีวิธีง่ายกว่านี้ ช่วยแนะนำด้วยครับ :-)
Free! ฟรี Domain + Hosting
July 28, 2008 - 11:04pm | by poakpongเพิ่งได้ทดลองใช้บริการฟรีโดเมน (Domain Name) จากเว็บไซต์ www.co.cc เคยเห็นจากบล็อกของน้องโด นานแล้ว และล่าสุดก็ได้เจออีกหลายเว็บที่ใช้งานฟรีโดเมนอันนี้ เลยทดลองใช้บ้าง
ชื่อที่ได้ก็โอเคไม่ยาวจนน่าเกลียด จำไม่ยาก (ผมลงทะเบียนไว้ชื่อนี้ www.littleonline.co.cc) ขั้นต่อมา พอมีโดเมนแล้วก็ต้องมีโฮสติ้ง (Hosting) ก็ไล่เรียงดูจากในเว็บไซต์ www.co.cc ว่าคนอื่นๆ เค้าใช้บริการที่ไหนกันบ้าง ก็ลองคลิกดูรายชื่อ DNS ที่ลงทะเบียนจากประเทศไทย ก็พบหลายเจ้า แต่ก็มีหลายเจ้าที่ไม่ได้เปิดให้สมัครใช้งาน เดาว่าคงเอาไว้ทำ SEO ทำนองนั้น สแกนเร็วๆ ก็เห็นว่าชื่อเจ๋งๆ โดนลงทะเบียนไปเยอะแล้วเหมือนกัน
จากที่หาดู ได้มา 2 รายชื่อ คือ www.000webhost.com และ www.freehostia.com ซึ่งอันแรกจะให้พื้นที่มากกว่าอันหลัง คือ
- 000webhost.com ให้พื้นที่เก็บข้อมูลต่อเว็บไซต์ (Disk Space/Site) 350 MB และปริมาณการรับส่งข้อมูล (Bandwidth/Site) 100 GB ลงทะเบียนได้ไม่จำกัด แต่ล็อกไว้ให้ลงทะเบียนได้วันละหนึ่งโดเมน รวมทั้ง MySQL, PHP, FTP
- freehostia.com ให้พื้นที่เก็บข้อมูลต่อผู้ใช้หนึ่งราย (Disk Space/Account) 250 MB และปริมาณการรับส่งข้อมูลรวม (Bandwidth/Account) 5 GB และอนุญาตให้ใช้งานแค่เพียง 2 โดเมนเท่านั้น และ MySQL, PHP, FTP แต่ในการใช้งานล็อกอินครั้งเดียวจัดการได้ทั้ง 2 โดเมน
เบื้องต้นก็คิดว่าเหมาะกับเว็บเล็กๆ หรือทดลองระบบ ตอนนี้เพิ่งเริ่มใช้งาน ถ้ามีอะไรน่าตื่นเต้นจะมาเล่าสู่กันฟังต่อไป
** คำเตือน: อย่าเก็บข้อมูลสำคัญไว้ในเว็บไซต์อย่างเดียว ต้อง backup ออกมาเป็นระยะเสมอ เพื่อป้องกันการเสียหายของข้อมูล (ไม่ค่อยเกี่ยวกันเท่าไหร่) อิอิ :P
Auto-browser Detection with PHP
March 23, 2008 - 2:40pm | by poakponggoogle เจอมาจากเว็บไซต์ iphoneappr.com
- - - - -
$browser = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser === true) { echo "Hello iPhone!"; }
- - - - -
อธิบาย:
* $_SERVER['HTTP_USER_AGENT'] = เรียกข้อมูลคุณสมบัติของเบราเซอร์ ตัวอย่างเช่น Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3
* stripos() = เช็คว่าในข้อมูลที่ได้มีคำว่า iPhone อยู่ในประโยคที่ต้องการหาหรือไม่
* if ($browser === true) ถ้ากระบวนการใน บรรทัดบนเป็นจริง (true) ให้ทำงานในวงเล็บข้างหลัง
* สามารเปลี่ยน iPhone เป็น Macintosh, Firefox, MSIE 6.0, MSIE 7.0 หรือ keyword อื่นๆ ได้ตามต้องการ
Downloader by PHP header function
March 12, 2008 - 4:02pm | by poakpongหาคำสั่ง PHP ในการส่งไฟล์ออกมาจากเว็บ โดยไม่ให้เว็บเบราเซอร์แสดงผล
โจทย์คือ ถ้าคลิกลิงก์ไฟล์ที่เป็น .doc ใน IE (Windows) มันก็จะเรียกตัวทูลของ MS Word มาแสดงผลซ้อนเข้าไปใน IE ซึ่งผมไม่ต้องการให้มันแสดงผลแบบนั้น แต่อยากให้มันส่งไฟล์ออกมาเลย โดยมีหน้าต่างขึ้นมาถามว่าจะ Open หรือ Save
หลังจากที่ถามใน codenone.com และ หาเพิ่มจาก google ได้ความว่าใช้ฟังก์ชั่น header ใน php ในการส่งไฟล์ออกมาดังกล่าว
สรุปได้ดังนี้...