RSS
email
Tampilkan postingan dengan label SMS Gateway. Tampilkan semua postingan
Tampilkan postingan dengan label SMS Gateway. Tampilkan semua postingan

Senin, 13 Juni 2011

Membuat Script SMS Auto Forward dengan PHP

Maaf ya.. lama saya gak update lagi nih blog, semoga pengunjung setia blog ini gak berpindah ke lain blog :-) OK deh… pada artikel SMS gateway kali ini, saya akan mencoba memaparkan cara membuat script SMS Gateway yang dapat digunakan untuk melakukan auto forwarding SMS dengan script PHP.
Apa sih auto forwarding SMS itu?? Misalkan Anda memiliki sejumlah nomor hp teman atau member yang jumlahnya banyak sekali, bisa ratusan atau ribuan yang tersimpan di database SMS center. Nah… jika Anda ingin mengirim pesan SMS ke semua nomor tersebut, Anda tinggal kirim SMS ke SMS center yang Anda buat sendiri dengan format pesan misalnya: FWD#PESAN maka otomatis pesan akan diteruskan oleh SMS center ke semua nomor hp yang ada di database.
Kalau sudah paham apa itu SMS Auto Forwarding, bagaimana cara membuatnya? Untuk membuat SMS auto forwarding ini, yang Anda butuhkan adalah PC server yang di dalamnya sudah terinstal Gammu sebagai gateway untuk SMS nya, web server (saya sarankan menggunakan AppServ). Di dalam AppServ ini sudah terdapat Apache sebagai webserver, PHP server dan juga mysql. Oya sampai lupa, untuk keperluan sms gateway ini Anda juga harus punya modem untuk pengiriman sms nya.
Adapun langkah pertama yang Anda harus lakukan untuk membuat sms auto forwarding ini adalah instalasi Gammu nya. Setelah instalasi Gammu, Anda akan mendapatkan beberapa buah tabel di database mysql seperti pada gambar berikut ini (gunakan phpmyadmin)
SMS gateway auto forwarding
Di antara beberapa tabel di atas, terdapat sebuah tabel bernama ‘pbk’. Tabel ini merupakan singkatan dari ‘phonebook’ yang nantinya digunakan untuk menyimpan data nomor hp yang nantinya bisa dikirimi pesan SMS auto forwarding ini. Silakan isi beberapa data nomor hp beserta nama pemiliknya.
SMS gateway auto forwarding
Selanjutnya kita buat script PHP untuk memproses SMS auto forwarding ini. Script PHP ini nanti harus senantiasa berjalan di browser. Anda bisa menggunakan teknik auto refresh pada browser atau menggunakan teknik AJAX.
Ide pembuatan script PHP untuk memproses SMS auto forwarding ini kita harus memecah keyword FWD#PESAN terlebih dahulu. Bila diawali dengan keyword FWD maka barulah proses forwarding ini dilakukan. Selanjutnya bila keywordnya benar-benar diawali dengan FWD, maka PESAN akan dikirim ke semua nomor hp yang ada di tabel ‘pbk’. Tanda # digunakan untuk memisahkan keyword dengan pesan yang akan dikirim. Untuk memecah string dari SMS, kita bisa menggunakan function explode() di PHP.
Berikut ini adalah script PHP untuk SMS autoforwarding ini.
run.php
01.<?php
02. 
03.// koneksi ke database gammu
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06. 
07.// membaca sms yang masuk dan belum diproses
08.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
09.$hasil = mysql_query($query);
10.while ($data = mysql_fetch_array($hasil))
11.{
12.   // membaca id sms
13.   $id = $data['ID'];
14.   // membaca isi sms
15.   $sms = $data['TextDecoded'];
16. 
17.   // memecah isi sms berdasarkan karakter #
18.   $pecah = explode("#", $sms);
19. 
20.   // cek keywordnya apakah sama dengan 'FWD'?
21.   if (strtoupper($pecah[0]) == "FWD")
22.   {
23.       // jika keywordnya FWD maka lakukan proses forwarding
24. 
25.       // membaca data phonebook dari tabel 'pbk'
26.       $query2 = "SELECT * FROM pbk";
27.       $hasil2 = mysql_query($query2);
28.       while ($data2 = mysql_fetch_array($hasil2))
29.       {
30.         // membaca nomor hp
31.         $nohp = $data2['Number'];
32.         // membaca isi pesan yang akan diforward
33.         $pesan = $pecah[1];
34.         // proses pengiriman pesan ke setiap no hp
35.         $query3 = "INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$nohp', '$pesan', 'Gammu')";
36.         mysql_query($query3);
37.       }
38.   }
39. 
40.   // menandai sms telah diproses
41.   $query2 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
42.   mysql_query($query2);
43.}
44. 
45.?>
Keterangan:
Mungkin Anda bertanya-tanya, mengapa di pengecekan keywordnya saya menggunakan strtoupper()? ya… hal ini dikarenakan cara penulisan sms bisa berbeda-beda pada besar kecilnya huruf. Oleh karena itu saya buat menjadi besar semua (kapital). Namun kapitalisasi huruf ini hanya saya berikan pada keywordnya saja, sedangkan untuk pesan yang akan diforward tidak perlu. Kapitalisasi huruf pada keyword ini penting karena di PHP penulisan huruf kecil dan besar pada suatu string itu berbeda (case sensitive). Sebagai contoh penulisan ‘FWD’ dengan ‘Fwd’ atau ‘fwd’ atau ‘fwD’ semuanya berbeda.
Nah… selanjutnya script di atas harus dijalankan terus menerus di web server. Jika secara manual, Anda musti merefresh script di atas pada browser terus menerus supaya bisa memproses SMS yang masuk. Namun hal ini tentu tidak mungkin bukan? So… kita harus membuat sistem otomatisasi supaya script di atas bisa melakukan refresh sendiri. Anda bisa menggunakan teknik auto refresh atau menggunakan AJAX.
Untuk kali ini kita mencoba menggunakan AJAX untuk menjalankan script run.php di atas secara otomatis. Oleh karena itu perlu kita buat script index.html yang di dalamnya kita sisipkan script AJAX untuk menjalankan script run.php.
index.html
01.<html>
02.<head>
03.   <title>SMS Auto Forwarding</title>
04.   <script type="text/javascript">
05. 
06.  function ajax()
07.  {
08.  if (window.XMLHttpRequest)
09.  {
10.     xmlhttp=new XMLHttpRequest();
11.  }
12.  else
13.  {
14.     xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
15.  }
16. 
17.  xmlhttp.open("GET","run.php");
18.  xmlhttp.send();
19.  setTimeout("ajax()", 5000);
20.  }
21.  </script>
22. 
23.</head>
24. 
25.<body onload="ajax()">
26.      <h1>SMS Auto Forwarding running...</h1>
27.</body>
28.</html>
Script AJAX di atas secara otomatis akan melakukan refresh script run.php setiap selang 5 detik (5000 milisekon). Lantas… dari kedua script di atas manakah yang nantinya akan dijalankan di browser? Anda cukup menjalankan index.html nya saja.
Mudah bukan membuatnya? script di atas dijalankan dengan sukses di Gammu 1.25.0, menggunakan modem Wavecom dan dengan browser Firefox.

Download Disini

Membuat Script Remote Shutdown Komputer Via SMS dengan PHP

Baru giat-giatnya bikin artikel SMS gateway nih… :-) Setelah artikel sebelumnya tentang SMS Auto Forwarding, sekarang saya akan coba paparkan cara membuat script PHP untuk remote shutdown komputer.
Bagi Anda yang sering lupa mematikan komputer, kini ada cara praktis untuk mematikan komputer secara jarak jauh hanya dengan menggunakan SMS. Hanya mengirimkan SMS berbunyi SHUTDOWN ke SMS center, maka otomatis komputer akan shutdown. Apakah sms nya harus berbunyi SHUTDOWN? he.. 3x nggak harus, Anda bisa menggunakan keyword SMS lain. Mau tahu cara membuatnya? OK ini dia caranya…
Pertama, Anda harus buat dahulu PC Anda sebagai SMS centernya dengan menginstall gammu, serta install pula web server untuk menjalankan script PHP yang digunakan untuk memproses SMS nya.
Ide dasar pembuatan script remote shutdown komputer via SMS ini adalah kita buat script PHP untuk membaca sms yang masuk ke database MySQL nya Gammu. Jika isi smsnya berisi SHUTDOWN, maka lakukan proses shutdown.
Lantas… yang menjadi pertanyaan adalah bagaimana cara melakukan shutdown komputer ini? Karena saya menggunakan Windows XP, maka hanya dengan menggunakan command di shell atau prompt
1.shutdown -s -f
maka komputer akan shutdown.
Nah.. perintah di atas nantinya akan dijalankan oleh PHP melalui function exec(). Function exec() di PHP digunakan untuk menjalankan command pada sistem operasi. Nah.. bagaimana bila sistem menggunakan Linux? nah.. silakan cari sendiri command untuk shutdown tersebut :-)
OK, sekarang kita akan buat script PHP untuk memproses sms yang masuk sekaligus melakukan proses shutdown.
shutdown.php
01.<?php
02. 
03.// koneksi ke database gammu
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06. 
07.// mencari sms yang belum diproses
08.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
09.$hasil = mysql_query($query);
10.while ($data = mysql_fetch_array($hasil))
11.{
12.  // baca ID dari SMS
13.  $id = $data['ID'];
14.  // membaca isi SMS dan mengubah menjadi huruf kapital
15.  $sms = strtoupper($data['TextDecoded']);
16. 
17.  // jika isi SMS adalah 'SHUTDOWN'
18.  if ($sms == "SHUTDOWN")
19.  {
20.     // jalankan perintah shutdown
21.     exec("shutdown -s -f");
22.  }
23. 
24.  // memberi tanda SMS bahwa sudah diproses
25.  $query2 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
26.  mysql_query($query2);
27.}
28. 
29.?>
Nah… selanjutnya bagaimana supaya script shutdown.php di atas bisa secara kontinu dijalankan tanpa direfresh manual pada browser? Anda bisa menggunakan konsep AJAX untuk menjalankan script tersebut. Berikut ini script index.html yang di dalamnya terdapat script AJAX untuk melakukan proses auto refreshing script shutdown.php
index.html
01.<html>
02.<head>
03.   <title>SMS Auto Shutdown</title>
04.   <script type="text/javascript">
05. 
06.  function ajax()
07.  {
08.  if (window.XMLHttpRequest)
09.  {
10.     xmlhttp=new XMLHttpRequest();
11.  }
12.  else
13.  {
14.     xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
15.  }
16. 
17.  xmlhttp.open("GET","shutdown.php");
18.  xmlhttp.send();
19.  setTimeout("ajax()", 5000);
20.  }
21.  </script>
22. 
23.</head>
24. 
25.<body onload="ajax()">
26.      <h1>SMS Auto Shutdown running...</h1>
27.</body>
28.</html>
Untuk menjalankan remote shutdown komputer, cukup script index.html saja yang dijalankan di browser. Script di atas sudah dicoba dan berjalan dengan lancar menggunakan AppServ (webserver), dan Gammu 1.25.0, Firefox 3.6.3 (web browser) dan modem Wavecom.
Mudah bukan cara membuatnya? So.. kini Anda tidak perlu khawatir ketika lupa mematikan komputer, karena bisa Anda matikan kapanpun dan dimanapun berada melalui HP Anda.
Mungkin untuk ke depannya, Anda bisa pula menggunakan SMS sebagai remote control alat perabotan rumah tangga Anda atau bahkan mematikan lampu rumah Anda :-) Selamat bereksperimen !!!

Download Disini

Membuat Script SMS Flash Dengan Gammu dan PHP

Apaan tuh SMS Flash? SMS Flash itu adalah sms yang begitu diterima langsung terbaca isinya. Setelah dibaca, SMS tersebut langsung terhapus secara otomatis dari inbox hp si penerima. Beda dengan SMS biasa, dimana SMS yang diterima tidak langsung terbaca/dibuka dan masih tersimpan di dalam inbox.
Nah… pada artikel ini, saya akan paparkan ide bagaimana cara membuat SMS flash dengan Gammu, dan pengembangannya bila diintegrasikan dengan script PHP. Script PHP ini nanti akan kita gunakan untuk memproses pengiriman, dimana sebelumnya si pengirim bisa memilih format SMS yang akan dikirim apakah dalam bentuk SMS normal atau SMS flash, seperti fitur free sms yang ada di blog saya ini.
Jika kita menggunakan Gammu, secara default SMS yang kita kirim adalah format normal. Bagaimana jika kita ingin mengirim dalam bentuk flash SMS? caranya sangat mudah sekali, yaitu dengan menggunakan query SQL sebagai berikut
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
2.VALUES ('nohptujuan', 'isi sms', 'Gammu', '0');
dimana ‘DestinationNumber’ merupakan field yang menunjukkan nomor tujuan sms, ‘TextDecoded’ adalah field yang menyatakan isi sms, dan ‘Class’ menunjukkan format SMS.
Dalam artikel sebelumnya tentang teknik dasar pengiriman sms gammu, saya pernah mengajarkan cara mengirim sms dengan query
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID)
2.VALUES ('nohptujuan', 'isi sms', 'Gammu');
SMS yang dikirim dari query di atas, akan dihasilkan SMS normal, sedangkan untuk Flash SMS cukup ditambahkan nilai ’0′ pada field Class dalam tabel OUTBOX. Mengapa harus ’0′? Ya… nilai ’0′ ini menandakan bahwa SMS yang akan dikirim ini dalam bentuk flash SMS. Sedangkan defaultnya adalah -1 yang menandakan SMS normal, sehingga perintah
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID)
2.VALUES ('nohptujuan', 'isi sms', 'Gammu');
identik dengan
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
2.VALUES ('nohptujuan', 'isi sms', 'Gammu', '-1');
Paham ya konsepnya???
OK… setelah ide dasarnya sudah saya paparkan, berikutnya akan saya jelaskan cara membuat form untuk pengiriman SMS yang di dalamnya terdapat pilihan atau option untuk format SMS yang akan dikirim apakah dalam bentuk flash SMS atau normal SMS.
Pertama, kita siapkan form nya terlebih dahulu sbb
sms.php
01.<h1>Kirim SMS</h1>
02. 
03.<form method="post" action="send.php">
04.Nomor HP Tujuan<br>
05.<input type="text" name="nohp"><br><br>
06.Isi SMS<br>
07.<textarea name="sms"></textarea><br><br>
08.Format SMS<br>
09.<input type="radio" name="format" value="flash"> Flash SMS <br>
10.<input type="radio" name="format" value="normal"> Normal SMS <br><br>
11.<input type="submit" name="submit" value="Kirim SMS">
12.</form>
Tampilan form yang telah kita buat tersebut adalah sbb:
sms flash gammu
Perhatikan form di atas, bahwa di situ tersedia 2 buah komponen radiobutton bernama ‘format’ untuk pilihan format sms nya.
Nah.. selanjutnya, kita buat script send.php untuk proses pengirimannya.
Karena ada 2 cara pengiriman berdasarkan pilihan si pengirim, maka dalam script send.php ini nanti harus ada pilihan persyaratan yaitu jika yang dipilih adalah flash SMS dan jika yang dipilih normal SMS. Untuk menyatakan persyaratan ini, kita akan menggunakan statement IF dalam PHP. Ini dia scriptnya…
send.php
01.<?php
02. 
03.// koneksi ke database Gammu
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06. 
07.// baca no tujuan
08.$no_tujuan = $_POST['nohp'];
09. 
10.// baca isi sms
11.$isi_sms = $_POST['sms'];
12. 
13.// baca format sms
14.$pilih_format = $_POST['format'];
15. 
16.if ($pilih_format == "flash")
17.{
18.   // jika format yang dipilih 'flash'
19. 
20.   // query kirim sms format flash
21.   $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
22.             VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '0')";
23. 
24.   // jalankan query
25.   mysql_query($query);
26.}
27.else if ($pilih_format == "normal")
28.{
29.   // jika format yang dipilih 'normal'
30. 
31.   // query kirim sms normal
32.   $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
33.             VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '-1')";  
34. 
35.   // jalankan query
36.   mysql_query($query);
37.}
38.else echo "Anda belum memilih format SMS";
39. 
40.?>
Nah… mudah bukan membuatnya, silakan dikembangkan sendiri ya. Jika masih bingung dengan Gammu, silakan baca artikel tentang panduan dasar gammu yang telah saya buat sebelumnya.
Oya, script di atas sudah saya coba dengan baik dan sukses pada AppServ, Gammu 1.25.0 dan modem Wavecom.
Selamat mencoba….

Download Disini

SMS Notifikasi (Auto Broadcast) Jika Ada Artikel Terbaru di Blog WordPress

Satu lagi persembahan artikel dari saya bagi para pecinta SMS Gateway di blog ini. Kali ini tentang bagaimana cara membuat SMS broadcast jika ada artikel terbaru pada blog Anda. BTW… ide ini muncul tadi malam setelah saya bangun tidur :-) Nah… Barangkali teknik ini bisa dijadikan salah satu teknik marketing untuk memperkenalkan blog Anda, atau mendatangkan traffic. Melalui SMS yang dikirimkan, diharapkan pengunjung setia blog Anda akan merasa senang karena mendapat notifikasi atau pemberitahuan setiap kali ada artikel baru di blog Anda.
Lantas isi dari SMS notifikasi yang dibroadcast kepada pengunjung blog tersebut apa ya?
Ya… untuk SMS notifikasi yang dikirimkan isinya cukup dengan menampilkan judul atau title artikel terbaru tersebut dan juga URL link menuju ke artikel tersebut. Apakah URL link dalam SMS tersebut apakah bisa diklik?? Hmmm… untuk beberapa jenis hp-hp saat ini yang canggih, link URL tersebut bisa diklik dan langsung membuka browser menuju link tersebut.
Oya, untuk lebih menarik hati pengunjung blog Anda, mungkin bisa Anda tambahkan kata sapaan, misalnya: “Hallo [nama], ada artikel terbaru lho di blog, judulnya [judul], URL nya [URL]“.
Nah… pada artikel kali ini saya akan mencoba memaparkan cara membuat layanan SMS auto broadcast tersebut.
Untuk membuat auto broadcast SMS ini, kita membutuhkan software untuk SMS gateway yang berfungsi untuk melakukan proses pengiriman otomatis dari server melalui hp/modem. Di sini kita akan menggunakan Gammu sebagai software SMS gateway nya.
Ide dasar pembuatan layanan ini adalah, pertama kita baca dahulu RSS Feed dari blog. Oya, pembahasan di sini hanya untuk blog WordPress saja. Untuk blog yang lain silakan menyesuaikan formatnya. Untuk RSS feed dari blog WordPress, biasanya dapat dilihat di http://situsAnda/feed. Sebagai contoh adalah RSS feed dari blog ini adalah di http://blog.rosihanari.net/feed. Jika Anda lihat source dari RSS feed nya, maka akan memiliki format sebagai berikut
01.<?xml version="1.0" encoding="UTF-8"?>
02.<rss version="2.0">
03.   <channel>
04.      <title>...</title>
05.      <link>...</link>
06.      <description>...</description>
07. 
08.      <item>
09.         <title>...</title>
10.         <link>...</link>
11.         <pubDate>...</pubDate>
12.         <guid>...</guid>
13.         <description></description>
14.         .
15.         .
16.      </item>
17. 
18.      <item>
19.         <title>...</title>
20.         <link>...</link>
21.         <pubDate>...</pubDate>
22.         <guid>...</guid>
23.         <description></description>
24.         .
25.         .
26.      </item>
27.      .
28.      .
29.   </channel>
30.</rss>
Dari format RSS Feed di atas, data informasi artikel diapit oleh tag <item>...</item>. Sedangkan artikel yang paling terakhir dipublish (terbaru) terletak pada <item>..</item> paling atas. Jika kita perhatikan, di dalam tag <item>...</item> terdapat tag lagi yaitu <title>...</title> yang menyatakan title artikel, <link>...</link> untuk menampilkan link URL permalink artikelnya, <pubDate>...</pubDate> berisi informasi tanggal publikasi, <guid>...</guid> berisi URL link asli artikelnya non permalink. Dalam link guid ini terdapat nomor ID artikelnya. Sedangkan tag <description>...</description> berisi excerpt atau cuplikan artikel.
Dalam SMS broadcast ini, informasi feed yang hanya diambil misalkan hanyalah ID artikel yang berasal dari tag <guid>...</guid>, title yang diambil dari <title>...</title> dan juga URL link. Untuk link URL akan diambil dari <guid>...</guid> saja karena biasanya link URL dari <link>...</link> bentuknya panjang sekali sehingga bisa menyebabkan long sms dan biayanya pengiriman sms nya jadi mahal :-)
Data RSS feed artikel yang nantinya kita baca hanyalah artikel yang terletak pada <item>…</item> pertama saja (artikel terbaru). Setelah RSS feed dibaca kemudian lakukan pengiriman broadcast ke semua nomor hp. Oya, sebelumnya Anda harus sudah memiliki data nomor hp dan juga nama pemiliknya untuk sapaan pada SMS notifikasi.
Script tersebut harus dijalankan terus menerus, sehingga begitu ada artikel terbaru maka secara otomatis akan mengirim SMS notifikasi. Anda dapat menggunakan AJAX untuk menjalankan script baca RSS feed dan mengirimkan SMS secara terus menerus.
Mudah kan konsepnya??? Eit.. tapi tunggu dulu, dengan konsep tersebut tentunya SMS yang dikirim akan berulang-ulang meskipun belum ada artikel terbaru. Atau dengan kata lain, seseorang akan mendapat SMS notifikasi yang sama, selama belum ada artikel yang terbaru lagi karena script tersebut dijalankan secara berulang-ulang. Nah… untuk mengantisipasi hal tersebut kita harus cari cara supaya tidak terjadi pengiriman SMS notifikasi yang sama selama belum ada artikel terbaru. Adapun idenya adalah setiap kali kita membaca RSS feed, kita baca pula ID artikel yang dibaca dari <guid>...</guid> kemudian kita masukkan ke database. Di dalam database, field untuk menyimpan ID artikel ini kita buat PRIMARY KEY sehingga tidak bisa menyimpan ID yang sama berulang kali. Proses memasukkan data ID artikel ini akan gagal jika sudah terdapat ID artikel yang sama sebelumnya di dalam tabel database. Nah… sifat PRIMARY KEY dari field tersebut kita manfaatkan untuk mencegah pengiriman SMS berulang. Proses pengiriman baru akan dilakukan jika proses penyimpanan ID artikel ke tabel sukses atau dengan kata lain artikel dengan ID tersebut belum pernah dikirim sebelumnya. OK itu idenya.
Sekarang kita mulai saja proses pembuatan scriptnya. Pertama, kita siapkan dulu tabel phonebook yang digunakan untuk menyimpan data nomor HP dan juga nama yang nantinya akan dikirimi SMS notifikasi.
1.CREATE TABLE `phonebook` (
2.  `nohp` varchar(20),
3.  `nama` varchar(30)
4.);
dan juga tabel listartikel untuk menyimpan ID artikel.
1.CREATE TABLE `listartikel` (
2.  `id` int(11),
3.  PRIMARY KEY (`id`)
4.);
Kedua tabel itu dapat diletakkan dalam database yang sama dengan gammu nya, bersama tabel INBOX, OUTBOX, SENTITEMS dll.
Selanjutnya, kita buat script untuk proses pembacaan RSS Feed dan juga pengiriman SMS notifikasi secara broadcast ke semua nomor HP yang ada di tabel ‘phonebook’
sms.php
01.<?php
02.// koneksi ke database gammu
03.mysql_connect("dbhost", "dbuser", "dbpass");
04.mysql_select_db("dbname");
05. 
06.// membaca semua data RSS feed dari blog
07.$dataxml = simplexml_load_file('http://blog.rosihanari.net/feed');
08. 
09.// counter
10.$count = 1;
11. 
12.// proses parsing data XML dari RSS feed
13.// data yang dibaca hanya di dalam tag <item>...</item>
14.foreach($dataxml->channel->item as $artikel)
15.{
16.   // data yang dibaca hanya data pertama
17.   if ($count == 1)
18.   {
19.     // baca title artikel
20.     $title = $artikel->title;
21.     // baca guid artikel
22.     $guid = $artikel->guid;
23. 
24.     // proses mengambil ID artikel dari guid
25.     // ID artikel terletak pada link guid berbentuk http://situsAnda/?p=ID
26.     $pecah = explode("?p=", $guid);
27.     $idArtikel = $pecah[1];
28. 
29.     // proses insert data ID artikel ke tabel listartikel
30.     $query = "INSERT INTO listartikel VALUES ('$idArtikel')";
31.     $hasil = mysql_query($query);
32.     if ($hasil)
33.     {
34.       // jika proses insert ID artikel sukses maka lakukan kirim SMS
35. 
36.       // baca data nama dan nohp dari phonebook
37.       $query2 = "SELECT * FROM phonebook";
38.       $hasil2 = mysql_query($query2);
39.       while ($data2 = mysql_fetch_array($hasil2))
40.       {
41.          $nohp = $data2['noHP'];
42.          $nama = $data2['nama'];
43. 
44.          // format SMS notifikasi
45.          $isiSMS = "Hai ".$nama.", ada artikel baru nih \"".$title."\". URLnya ada di ".$guid;
46. 
47.          // kirim SMS notifikasi
48.          $query3 = "INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$nohp', '$isiSMS', 'Gammu')";
49.          mysql_query($query3);
50.       }
51.     }
52.   }
53.   // counter
54.   $count++;
55.}
56. 
57.?>
Berikutnya, kita buat script AJAX untuk menjalankan script sms.php di atas secara terus menerus setiap interval tertentu. Di sini saya contohkan menjalankan script sms.php dalam setiap interval 10 menit (600.000 mili sekon).
index.php
01.<html>
02.<head>
03.<script type="text/javascript">
04. 
05.  function ajax()
06.  {
07.  if (window.XMLHttpRequest)
08.  {
09.     xmlhttp=new XMLHttpRequest();
10.  }
11.  else
12.  {
13.     xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
14.  }
15. 
16.  xmlhttp.open("GET","sms.php");
17.  xmlhttp.send();
18.  setTimeout("ajax()", 600000);
19.  }
20.  </script>
21. 
22.</head>
23.<body onload="ajax()">
24.   <h1>SMS Server running...</h1>
25.</body>
26.</html>
Nah… mudah bukan membuatnya? silakan mencoba ya…. :-) Script di atas dicoba dengan sukses menggunakan modem Wavecom dan Gammu 1.25.

Download Disini