62979110 membuat sendiri kirim sms gratis via web dengan php dan mysql

Upload: day3order

Post on 10-Jul-2015

1.601 views

Category:

Documents


0 download

TRANSCRIPT

Membuat Sendiri Kirim SMS Gratis Via Web dengan PHP dan MySQLDecember 8th, 2010 | by rosihanari | Cetak Artikel Ini

Masih terkait dengan SMS gateway, dalam artikel kali ini saya akan mencoba memaparkan cara membuat sendiri aplikasi kirim SMS gratis via web. Permintaan untuk membuat artikel dengan topik ini sudah banyak masuk ke email saya maupun komentar dalam blog ini. Namun, mohon maaf baru kali ini saya bisa mewujudkannya. Untuk membuat fasilitas kirim SMS gratis via web, kita membutuhkan sebuah aplikasi gateway untuk mengirim SMS. Aplikasi sms gateway ini nanti kita install atau letakkan di pc yang ada di rumah kita beserta modem/hp yang tercolok pada PC tersebut sebagai alat untuk mengirim SMS. PC ini harus senantiasa terhubung ke internet untuk berkomunikasi dengan PC server yang ada di hosting. Sedangkan di dalam hosting, kita buat semacam script form untuk interface user yang ingin mengirim SMS. Untuk aplikasi sms gateway yang diinstall di PC rumah, Anda bisa menggunakan Gammu sebagai enginenya. Pertanyaan yang muncul kemudian adalah bagaimana cara mengkomunikasikan PC server yang ada di hosting dengan PC di rumah, atau dengan kata lain bagaimana mengirim data sms yang disubmit via hosting kemudian bisa sampai di PC rumah lalu mengirimkan sms tersebut via modem/hp? OK konsep dasar atau ide dasar dalam pembuatannya adalah kita menggunakan semacam web service yang dibuat di server hosting untuk komunikasi antara PC rumah dan PC hosting. Web service ini nanti senantiasa akan diakses oleh PC rumah. Melalui web service inilah SMS akan dikirim dari PC hosting ke PC rumah. Lantas, apa bentuk output dari web service ini? Web service disajikan dalam bentuk XML yang isinya adalah bunyi SMS dan

nomor tujuan SMS yang akan dikirim. Data XML yang berisi bunyi sms dan nomor tujuan inilah yang nanti akan dibaca oleh PC rumah, lalu mengirimkannya lewat SMS gateway (Gammu). Nah.. sekarang kita menuju implementasi cara pembuatannya. Langkah pertama, Anda harus sudah menginstall Gammu sebagai tool SMS gateway nya. Pastikan Anda bisa mengirim SMS menggunakan Gammu dan HP/modem yang tercolok di PC Anda. Langkah kedua, buatlah script form untuk mengirim SMS. Script form ini nanti diletakkan di server hosting sms.html view sourceprint?1. 2.No. Tujuan 3.Isi SMS
4.

Bila diperhatikan, form kirim SMS di atas nantinya akan disubmit di script kirim.php. Di dalam script kirim.php inilah nomor tujuan dan isi SMS akan disimpan dalam tabel temporary pada database server hosting. Misalkan kita beri nama tabel temporary tersebut adalah outbox. Kita bisa buat tabel outbox ini dengan struktur sbb: view sourceprint?1.CREATE TABLE `outbox` ( 2. `id` int(11) AUTO_INCREMENT, 3. `destinationNumber` varchar(20), 4. `sms` text, 5. PRIMARY KEY (`id`) 6.)

Field id digunakan sebagai nomor unik penanda setiap SMS yang akan dikirim, field destinationNumber untuk menyimpan nomor tujuan SMS, dan sms untuk menyimpan isi SMS. OK, kita buat script kirim.php nya kirim.php view sourceprint?01.

OK ketiga file di atas (sms.html, kirim.php, dan data.php) nanti diletakkan di dalam server hosting. Sampai langkah ini, kita sudah selesai bekerja di level server hosting. Langkah berikutnya adalah membuat script di sisi PC rumah. Di dalam PC rumah, nantinya kita akan membuat script untuk membaca data sms yang tersaji dalam bentuk XML yang digenerate melalui script data.php yang ada di server hosting. Setelah data sms ini dibaca, kemudian kita masukkan ke dalam tabel outbox bawaannya Gammu untuk dikirim melalui hp/modem. Oya, kita perlu juga menghapus setiap data sms di server hosting yang sudah dibaca. Mengapa hal ini dilakukan? ya dong, supaya tabel outbox nya di server hosting tidak penuh. Lantas, bagaimana cara menghapus data secara otomatis di server hosting setelah data sms nya terbaca? ya kita gunakan CURL.

OK ini dia script untuk membaca data sms dari XML nya. bacasms.php view sourceprint?01.data as $data) 10.{ 11. // baca field ID 12. $id = $data->id; 13. // baca nomor tujuan 14. $destination = $data->destination; 15. // baca isi sms 16. $sms = $data->sms; 17. 18. // mengirim SMS via Gammu dengan insert dat a ke tabel outbox Gammu 19. $query = "INSERT INTO outbox (DestinationNumber, TextDecoded) VALUES ('$destination', '$sms')"; 20. mysql_query($query); 21. 22. // hapus data SMS di server hosting yang sudah terbaca berdasarkan ID 23. $curlHandle = curl_init(); 24. curl_setopt($curlHandle, CURLOPT_URL, ' http://namasitus/hapus.php '); 25. curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'id='.$id); 26. curl_setopt($curlHandle, CURLOPT_HEADER, 0); 27. curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1); 28. curl_setopt($curlHandle, CURLOPT_TIMEOUT,30); 29. curl_setopt($curlHandle, CURLOPT_POST, 1); 30. curl_exec($curlHandle); 31. curl_close($curlHandle); 32.} 33.?>

Jika web server di PC localhost belum mendukung CURL, maka lakukan setting CURL terlebih dahulu. Eh kalo kita liat pada script bacasms.php di atas, pada proses penghapusan data SMS yang ada di server hosting melalui CURL terdapat pemanggilan script hapus.php. Nah script ini belum kita buat di server hosting. Script hapus.php ini nanti berfungsi untuk menghapus data sms yang ada di tabel outbox dalam database server hosting berdasarkan ID nya setelah data sms tersebut di baca oleh script bacasms.php. hapus.php view sourceprint?01.