Membuat kode auto reply sms
Masuk ke folder c:\xampp\htdocs\smsku dan buat sebuah file autoreply.php , ketikkan kode sebagai berikut:
<?phpKeterangan :
mysql_connect("localhost","root","");
mysql_select_db("smskudb");
$query = "SELECT * FROM inbox WHERE Processed = 'false'";
$hasil = mysql_query($query);
while($data= mysql_fetch_array($hasil)){
$id = $data['ID'];
$noPengirim = $data['SenderNumber'];
$msg = strtoupper($data['TextDecoded']);
$pecah = explode("#",$msg);
$d_tgl=$pecah[1];
$d_nama=$pecah[2];
$d_jk=$pecah[3];
$d_alamat=$pecah[4];
if($pecah[0]=="REG")
{
if($pecah[1] !="" and $pecah[2] !="" and $pecah[3] !="")
{
$today = date("Ymd");
$tgl=date("d M Y");
$newDate = date("Y-m-d", strtotime($d_tgl));
$isinyo="Nomor ".$noPengirim." Nama ".$d_nama." JenisKel ".$d_jk." Alamat ".$d_alamat;
$query=mysql_query("INSERT INTO outbox (DestinationNumber,
TextDecoded) VALUES ('".$noPengirim."', '".$isinyo."')");
}else{
$query=mysql_query("INSERT INTO outbox (DestinationNumber,
TextDecoded, CreatorID) VALUES ('".$noPengirim."', 'Gagal Registrasi. Format : REG#Tanggal#Nama#PRIA/WANITA#Alamat')");
}
}else{
$query=mysql_query("INSERT INTO outbox (DestinationNumber,
TextDecoded) VALUES ('".$noPengirim."', 'Gagal Registrasi. Format : REG#Tanggal#Nama#PRIA/WANITA#Alamat')");
}
$query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
mysql_query($query3);
}
?>
Query Inbox , melakukan pencarian data inbox yang masuk dalam modem USB dan tabel inbox
$query = "SELECT * FROM inbox WHERE Processed = 'false'";Looping data inbox
$hasil = mysql_query($query);
while($data= mysql_fetch_array($hasil)){
Membuat variabel untuk record data inbox
$id = $data['ID'];
$noPengirim = $data['SenderNumber'];
$msg = strtoupper($data['TextDecoded']);
Membagi format berdasarkan karaktek #
$pecah = explode("#",$msg);Jadi $d_nama adalah isi dari format sms NAMA yang dikirimkan
$d_tgl=$pecah[1];
$d_nama=$pecah[2];
$d_jk=$pecah[3];
$d_alamat=$pecah[4];
Cek format SMS pertama sekali adalah REG dan Cek semua format SMS
if($pecah[0]=="REG")
{
if($pecah[1] !="" and $pecah[2] !="" and $pecah[3] !="")
{
Konversi tanggal php ke mysql
$today = date("Ymd");
$tgl=date("d M Y");
$newDate = date("Y-m-d", strtotime($d_tgl));
Setelah terkirim, maka status inbox tersebut sudah terkirim "true"
$query3 = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
mysql_query($query3);
Ops, ini belum selesai. SMS Gateway tidak akan respon jika tidak ada eksekusi terlebih dahulu. Lalu bagaimana caranya ?
Buat sebuah bat script, buka notepad dan ketikkan :
C:\xampp\php\php -f C:\xampp\htdocs\smsku\autoreply.phpSimpan dengan nama daemon.bat (terserah mau apa namanya)
Jadi,jika kita klik daemon.bat, maka semua sms pada tabel inbox yang statusnya false akan ter-kirim dengan sendirinya. Tapi apakah harus jalankan daemon.bat setiap kali?
Nah, ini yang jadi pertanyaan. Banyak orang memakai trigger mysql ataupun dengan memakai konfigurasi runonreceive pada gammu. Namun ada kendalanya
Dengan Trigger :
Format SMS tidak bisa dilakukan sesuka hati
Dengan runonreceive :
Terkadang saya mencoba malah tidak jalan
Solusi saya ya bikin aplikasi untuk menjalankan daemon.bat tersebut dengan Visual Basic hahaha..
Caranya mudah kok,tapi saya tidak menjelaskan dengan detail.
Buat sebuah project Visual Basic dan Masukkan Timer dengan Interval 1000 lalu masukkan script pada Timer :
Private Sub Timer1_Timer()
Shell daemon.bat, vbHide
End Sub
Lalu compile dan buat sebuah start up dengan menitipkan shortcut pada folder :
C:\Users\NAMAUSER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
0 Response to "Tutorial SMS Gateway : Auto Reply SMS dengan gammu [modul 5]"
Posting Komentar