Penawaran Engine Reservasi Tiket Pesawat

Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress | Tutorial Java SE


Produk yang direkomendasikan untuk Anda
Ebook Panduan Praktis SMS Gateway dengan PHP dan Gammu
Butuh modem Wavecom untuk SMS Gateway yang support Gammu dan dapat BONUS?? BELI SEKARANG


Membuat SMS Gateway Ucapan Ulang Tahun Otomatis dengan PHP + MySQL


February 19th, 2010 | by rosihanari | Cetak Artikel Cetak Artikel


GampSMS SMS Gateway

Seperti yang pernah saya janjikan dahulu, saya akan mencoba memposting artikel tentang aplikasi SMS gateway untuk membuat SMS ucapan ulang tahun secara otomatis dalam blog ini.

Jika Anda punya banyak teman dan Anda memiliki data tanggal lahir semua teman Anda, maka mudah-mudahan script yang dibahas dalam artikel ini akan bermanfaat. Oleh teman Anda, Anda akan dianggap sebagai teman yang sangat perhatian, karena setiap kali sang teman berulang tahun maka SMS ucapan ultah selalu terkirim ke dia tepat waktu tanpa meleset 1 hari pun, 1 jam bahkan 1 menit pun (kalo waktu di komputer Anda sama dengan waktu di rumah teman Anda … he 3x). Tapi jangan bilang ke temen Anda, bhw yang mengirim SMS ucapan ultah adalah program komputer ya :-)

OK, untuk membuat SMS ucapan ulang tahun otomatis ini kita memerlukan Gammu sebagai SMS daemonnya, HP tentu saja dan sebuah komputer yang senantiasa ON terus. Mengapa haris ON terus komputernya? ya.. kalo pas ada temen Anda yang ulang tahun namun kebetulan komputer Anda lagi mati, ya… SMS nya gak bisa terkirim. It makes sense, doesn’t it? :-) Oya, satu lagi Anda perlu XAMPP atau AppServ untuk menjalankan programnya, karena kita akan membuatnya menggunakan PHP + MySQL. Untuk mengetahui cara instalasi Gammu dan bagaimana cara mengintegrasikannya dengan MySQL silakan baca artikel cara setting Gammu.

Trus… untuk tabel datanya, apa saja yang dibutuhkan?

Untuk keperluan ini, kita buat 2 buah tabel. Tabel pertama untuk menyimpan data teman Anda. Data apa saja yang disimpan? cukup nama, nomor HP dan tanggal lahirnya saja. Tabel ini kita namai ‘friends’. Kemudian tabel kedua untuk menyimpan data SMS ucapan ultah yang telah terkirim ke teman Anda. Tabel ini kita namai ‘kirim’. Untuk tabel ‘kirim’ cukup memiliki field nomor HP dan tanggal kirim SMS saja. Tabel ini berfungsi sebagai pencegah pengiriman SMS ucapan secara berulang, karena script yang kita buat ini nanti menggunakan Auto Refresh atau dengan kata lain script ini berjalan secara otomatis pada selang waktu tertentu. Tanpa adanya tabel kedua ini, maka proses pengiriman SMS ucapan ultah bisa dilakukan beberapa kali. Oleh karena itu untuk tabel kedua ini, field nomor HP dan tanggal kirim SMS kita buat sebagai primary key.

Nah.. untuk kedua tabel di atas, berikut ini struktur tabel dan contoh datanya

CREATE TABLE `friends` (
  `noHP` varchar(30),
  `nama` varchar(100),
  `tglLahir` date,
  PRIMARY KEY  (`noHP`)
);
CREATE TABLE `kirim` (
  `noHP` varchar(30),
  `tglKirim` date,
  PRIMARY KEY  (`noHP`,`tglKirim`)
);
INSERT INTO `friends` VALUES ('08881111111', 'A', '1979-02-21');
INSERT INTO `friends` VALUES ('08120101010', 'B', '1980-09-07');
INSERT INTO `friends` VALUES ('08562810000', 'C', '1986-03-10');

Kedua tabel di atas nantinya dibuat di dalam database yang sama dengan tabel-tabel bawaan dari Gammu, seperti tabel INBOX, OUTBOX, SENTITEMS dsb…

Kemudian bagaimana ide dari script SMS ucapan ulang tahun ini. Idenya adalah pertama kali kita cari dulu data teman yang ada di tabel ‘friends’ yang tanggal lahir dan bulan lahirnya sama dengan saat ini (current date). Untuk tahun lahirnya tidak usah diperhatikan saja. Kemudian bila ada data teman yang tanggal dan bulan lahirnya sesuai dengan current date, kita baca nomor HP dan namanya. Proses selanjutnya adalah jangan langsung mengirim SMS ucapannya, namun kita simpan data nomor HP dan current date nya ke tabel ‘kirim’. Jika proses insert atau simpan data ke tabel ‘kirim’ ini berhasil barulah kita kirim SMS ucapannya ke tabel ‘OUTBOX’ yang sudah disediakan oleh Gammu. Namun jika gagal, berarti SMS ucapan sebelumnya sudah pernah terkirim. Proses insert data ke tabel ‘kirim’ ini gagal jika terdapat data nomor HP dan tanggal kirim yang sama, mengingat kedua field tersebut adalah primary key. Dengan demikian pasti ada jaminan bahwa SMS ucapan yang terkirim ke teman Anda tidak dilakukan berulang kali pada hari yang sama. Lantas bagaimana bila ulang tahunnya pada tahun depan? ya tidak ada masalah, kan current date nya sudah berbeda? sehingga proses insert data ke tabel ‘kirim’ pasti berhasil pada tahun depan.

Berdasarkan ide di atas, berikut ini implementasi script PHP nya:

<html>
<head>
   <title>SMS Ulang Tahun</title>
   <!-- refresh script setiap 10 detik -->
   <meta http-equiv="refresh" content="10; url=<?php $_SERVER['PHP_SELF']; ?>">
</head>
<body>
<h1>SMS Ulang Tahun Running...</h1>

<?php

// koneksi ke database mysql
mysql_connect("ldbhost", "dbuser", "dbpass");
mysql_select_db("dbname");

// baca tanggal sekarang
$tglNow = date("d");

// baca bulan sekarang
$blnNow = date("m");

// baca tahun-bulan-tanggal sekarang
$now = date("Y-m-d");

// cari data teman yang bulan lahir dan tanggal lahir sesuai pada current date
$query = "SELECT * FROM friends WHERE DAY(tglLahir) = '$tglNow' AND MONTH(tglLahir) = '$blnNow'";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
   // baca nomor HP dan nama teman
   $noHP = $data['noHP'];
   $nama = $data['nama'];

   // insert data ke tabel kirim
   $query2 = "INSERT INTO kirim (noHP, tglKirim) VALUES ('$noHP', '$now')";
   $hasil2 = mysql_query($query2);

   // jika proses insert ke tabel kirim sukses maka kirim sms ucapan
   if ($hasil2)
   {
      // isi pesan SMS ucapan ultah, disertai nama temannya
      $pesanSMS = "Wahai sahabatku ".$nama.", Happy Birthday !! Semoga dengan bertambahnya usiamu, semakin bertambah pula amalan ibadahmu.";

      // proses kirim sms via insert data ke tabel outbox
      $query2 = "INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$noHP', '$pesanSMS', 'Gammu')";
      mysql_query($query2);
   }
}

?>

</body>
</html>

Script di atas akan melakukan autorefresh setiap 10 detik. Perhatikan perintah di bawah ini

<meta http-equiv="refresh" content="10; url=<?php $_SERVER['PHP_SELF']; ?>">

Bagaimana mudah bukan membuatnya? Bila teman Anda banyak, ya.. siap-siap modal yang banyak pula untuk biaya pengiriman SMS ucapan ultahnya :-) tapi gak ada masalah sih, bukankah persahabatan butuh pengorbanan? :-) Selamat mencoba ya…

Script sms ultah di atas sudah diuji coba dan berjalan dengan lancar di modem Wavecom Fastrack.




Share ke Facebook Share ke Twitter
Baca Juga Artikel Terkait
Membuat Auto Deletion (Hapus Otomatis) Data Dengan Script PHP
Script PHP untuk Arsip Artikel Berdasarkan Bulan dan Tahun
Membuat Paragraf Otomatis Dengan Script PHP
Script SMS Gateway dengan PHP dan MySQL
Ide Membuat Generator Kode Unik Incremental Otomatis

Kata kunci: script sms - sms gammu - SMS Gateway - sms gateway mysql - sms gateway php - sms ulang tahun -


 

Komentar Anda ...