Script PHP (User Agent) : Mengetahui atau Mendeteksi Merk HP yang Digunakan oleh Pengunjung Website Kita dengan PHP

freesms

Di dasarnya setiap blog telah dilengkapi dengan fasilitas blog versi mobile. seperti Blog saya ini telah dilengkapi dengan tampilan mobile friendly untuk pengunjung setia yang sering mengakses via handphone. Secara otomatis blog ini akan mengarahkan (redirecting) tampilan ke mode mobile friendly bila sedang diakses via handphone. Bila Kamu perhatikan, tampilan blog pada mode mobile friendly ini lebih sederhana diperbandingkan tampilan sebetulnya. Kamu dapat lihat seperti apa tampilan blog ini via handphone. Dengan mode mobile friendly ini, file size yang diakses via handphone akan lebih kecil sehingga pulsa yang diperlukan bagi akses internet pun sedikit. Konsep yang sama pun diaplikasikan oleh Detik.com.
Contoh lain, pernahkah Kamu mengunjungi situs waptrik.com? Situs tersebut menyediakan free sistem aplikasi program handphone Kamu. Apabila Kamu mencoba mengunjungi situs tersebut via browser di komputer Kamu, karenanya situs tersebut tak dapat diakses. Kenapa? karena situs tersebut hanya dapat diakses oleh handphone saja. Hebatnya lagi.. semacam itu Kamu akses situs tersebut dengan handphone, karenanya secara otomatis akan muncul list software-software yang kompatible kepada handphone Kamu. Selaku contoh misalkan Kamu menggunakan Nokia, karenanya akan muncul list sistem aplikasi yang support dengan Nokia, dst.
Nah.. yang menjadi pertanyaan, bagaimana cara mendeteksi bahwa seorang pengunjung situs kita atau secara umum pengakses script yang kita taruh ke pada server hosting itu menggunakan handphone atau tak? atau kalau perlu kita dapat mendeteksi merek handphone yang sedang digunakan visitor. Konsep ini nantinya kita gunakan bagi membangun konten mobile. Pertanyaan tersebut dapat terjawab dengan membaca user agent dari visitor.

Apa itu user agent? user agent yakni suatu program di sisi client (pengakses) yang secara otomatis mengirim informasi berupa string kepada server di layanan web. String informasi ini dapat berisi OS yang digunakan, sistem aplikasi vendor browsernya, versi sistem aplikasi dll.
Diantara format string informasi user agent yakni sbb:

1.Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Dari string di atas tampak informasi bahwa terdapat client yang sedang mengakses menggunakan OS Windows, dan menggunakan Firefox selaku browsernya, serta versinya yaitu 3.5.8.
Nah… lantas bagaimana format string user agent yang berasal dari handphone? ini dia contohnya bagi Nokia N90

1.NokiaN90-1/5.0607.7.3 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1

Kamu dapat lihat bentuk-bentuk user agent bagi jenis handphone yang lain di Wikipedia.
Dari keterangan di atas tampak bahwa bagi handphone, di pada user agent nya terdapat informasi jenis handphone serta serinya. Dengan demikian kita tinggal olah user agent tersebut bagi membangun konten mobile seperti yang diinginkan.
OK.. sekarang ini bagaimana cara membaca user agent dengan PHP? Caranya amat gampang, yaitu dengan menggunakan command $_SERVER['HTTP_USER_AGENT']
Berikut ini contoh script PHP bagi mendeteksi merek handphone apa yang sedang digunakan user bagi mengakses script.

01.<?php
02. 
03.$listMerk = array('Nokia', 'iPhone', 'iPod', 'BlackBerry', 'HTC', 'LG', 'Nokia', 'Samsung', 'SonyEricsson');
04. 
05.$agent = $_SERVER['HTTP_USER_AGENT'];
06. 
07.foreach ($listMerk as $merk)
08.{
09.$count = substr_count($agent, $merk);
10.if ($count > 0) $merkDigunakan = $merk;
11.}
12. 
13.echo "Kamu menggunakan HP berjenis ".$merkDigunakan;
14. 
15.?>


Konsep dari script di atas yakni, pertama-tama kita list dulu merek handphone yang terdapat di pasaran. Di sini saya hanya mencontohkan beberapa jenis saja. Berikutnya setelah itu kita baca user agent nya. Proses berikutnya yakni mengecek apakah user agent nya mengandung string berisi merek handphone yang telah kita list tadi? Di sini saya menggunakan function subtr_count() bagi menentukan ada tidaknya nama merek yang telah kita list di pada user agent nya. Function substr_count() berfungsi bagi menghitung jumlah subtring pada suatu string. Bagi menentukan ada tidaknya suatu substring yang terdapat pada string lumayan dengan melihat jumlahnya. Jikalau jumlahnya lebih besar dari 0, karenanya berarti substring itu ada pada string.
Kemudian.. ini ada contoh script lain yang otomatis mendirect ke halaman tertentu yang khusus menampilkan konten mobile apabila diakses via program mobile, dan akan mendirect ke halaman tertentu yang khusus menampilkan konten aslinya (non mobile content) apabila diakses lewat PC (selain program mobile).

01.<?php
02. 
03.$listMerk = array('Nokia', 'iPhone', 'iPod', 'BlackBerry', 'HTC', 'LG', 'Nokia', 'Samsung', 'SonyEricsson');
04. 
05.$agent = $_SERVER['HTTP_USER_AGENT'];
06. 
07.$cek = 0;
08.foreach ($listMerk as $merk)
09.{
10.$count = substr_count($agent, $merk);
11.if ($count > 0) $cek = 1;
12.}
13. 
14.if ($cek == 0) header("Location: http://situsanda/scriptkontenbiasa");
15.else if ($cek == 1) header("Location: http://situsanda/scriptkontenmobile");
16. 
17.?>

Ide dari script di atas yakni memberi nilai awal $cek = 0. Nilai 0 diartikan bahwa script diakses oleh program non mobile. Berikutnya dilakukan proses pengecekan browser User Agent nya. Jikalau ternyata user agent terdapat pada array, karenanya nilai $cek berubah menjadi 1 yang berarti bahwa script diakses oleh program mobile. Sedangkan apabila user agent tak terdapat pada array, karenanya nilai $cek akan tetap 0 yang berarti bahwa script diakses oleh program non mobile. Bagi mendirect ke halaman tertentu, Kamu dapat menggunakan function header("Location: http://...").
Bagi melihat tampilan dari script di atas, silakan upload ke server hosting lalu akses script tersebut via handphone Kamu.

CATATAN:
Jangan Kamu taruh di localhost  Oke .. !
 
OK.. selamat mencoba.

Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *