Sebelumnya ucapkan terima kasih atas inspirasinya oleh pa ari dan pa bimo.
Saya kembangkan script nya untuk sinkronisasi antara database server local sms gateway dengan shared hosting.
Ada dua kelompok file file yang ditaruh di server lokal dan shared webhosting.
File di server lokal sms gateway
bacasms.php
<?php
// koneksi ke mysql di server localhost
mysql_connect(‘localhost’, ‘root’, ”);
// nama database Gammu yang ada di localhost
mysql_select_db(‘sms’);
// baca data XML dari server hosting yang digenerate oleh data.php
$dataxml = simplexml_load_file(‘http://data.php’);
foreach($dataxml->data as $data)
{
// baca field ID
$id = $data->id;
// baca nomor tujuan
$destination = $data->destination;
// baca isi sms
$sms = $data->sms;
// mengirim SMS via Gammu dengan insert data ke tabel outbox Gammu
$query = “INSERT INTO outbox (DestinationNumber, TextDecoded) VALUES (‘$destination’, ‘$sms’)”;
mysql_query($query);
// hapus data SMS di server hosting yang sudah terbaca berdasarkan ID
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, ‘http://voucher.passionit.co.id/smsmod/hapus.php’);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, ‘id=’.$id);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_exec($curlHandle);
curl_close($curlHandle);
}
?>
tulissms.php
<?php
//skrip untuk menghubungkan SMS Gateway lokal dengan hosting.. skrip ini dipasang untuk berhadapan dengan gammu.. Penggunaannya adalah:
//1. harus ada koneksi internet,
//2. database gammu
$url = “http://insert.php”;
$dbname = ‘sms’;
$dbuser = ‘root’;
$dbpass = ”;
$dbhost = ‘localhost’;
if(mysql_connect($dbhost,$dbuser,$dbpass)){
mysql_select_db($dbname);
}else{
echo ‘DB ne ra konek!!’;
}
//bukak sms satu persatu
$q = “SELECT `SenderNumber`,`TextDecoded`,`UpdatedInDB`,`ID` FROM `inbox` WHERE `Processed`=’false'”;
$mq = mysql_query($q);
$n = mysql_query($q);
while($r=mysql_fetch_array($mq)){
echo $sms = $r[‘TextDecoded’];
echo $nohp = $r[‘SenderNumber’];
echo $time = $r[‘UpdatedInDB’];
echo $id = $r[‘ID’];
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, “sms=”.$sms.”&nohp=”.$nohp.”&time=”.$time);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_exec($curlHandle);
curl_close($curlHandle);
$q2=”UPDATE `inbox` SET `Processed`=’true’ WHERE `ID`=’$id'”;
mysql_query($q2);
}
?>
dua file diatas bisa dijalankan menggunakan batch windows dengan memanggil program php.
File di shared web hosting
data.php
<?php
// koneksi ke mysql server hosting
mysql_connect(‘localhost’, ‘user’, ‘pass’);
mysql_select_db(‘db’);
// membuat header dokumen XML
header(‘Content-Type: text/xml’);
echo “<?xml version=’1.0′?>”;
// membuat root tag untuk data XML
echo “<outbox>”;
// query untuk membaca seluruh SMS yang ada di tabel outbox
$query = “SELECT * FROM outbox ORDER BY id”;
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
// representasi data sms
echo “<data>”;
echo “<id>”.$data[‘id’].”</id>”;
echo “<destination>”.$data[‘destinationNumber’].”</destination>”;
echo “<sms>”.$data[‘sms’].”</sms>”;
echo “</data>”;
}
echo “</outbox>”;
?>
hapus.php
<?php
// koneksi ke mysql di server hosting
mysql_connect(‘localhost’, ‘user’, ‘pass’);
mysql_select_db(‘db’);
// baca ID data yang akan dihapus yang dikirim via CURL dari localhost
$id = $_POST[‘id’];
// hapus data SMS berdasarkan ID
$query = “DELETE FROM outbox WHERE id = ‘$id'”;
mysql_query($query);
?>
insert.php
<?php
//konfigurasi
…
// koneksi ke mysql
if(mysql_connect($dbhost,$dbuser,$dbpass)){
mysql_select_db($dbname);
}else{
echo ‘DB ne ra konek!!’;
}
// membaca ketiga data dari parameter CURL
echo $sms = $_POST[‘sms’];
echo $time = $_POST[‘time’];
echo $nohp = $_POST[‘nohp’];
// query insert data ke mysql
$query=”INSERT INTO inbox (id,nohp,sms,time) VALUES (”,’$nohp’,’$sms’,’$time’)”;
//$query = “INSERT INTO contoh (data1, data2, data3) VALUES (‘$data1’, ‘$data2’, ‘$data3’)”;
mysql_query($query);
?>
Menyukai ini:
Suka Memuat...
Terkait
Terima kasih, tapi saya masih bingung nih Gan, dan masih gagal terus, apakah bisa bantu saya….
boleh… silahkan datang saja ke tempat saya bos
gan ini bisa buat sms gateway ya?
misalnya database sms gateway ane taruh d hostingan,kn klo sms gateway kn modemnya di laptop ane tuh.
kalo pake script ini bisa sinkronisasi ya?jadi kl database lcalhost update,di hostingan juga update?
😮
Yup… Kalo mau simpel Cari hostingan yg support MySQL seperti vas.web.id
makasih gan ini sangat membantu
makasih banget pokoknya 😀
it tinggal kopas n ganti namaDB doang kn gan??
soalnya ane awam banget,,,hehehe
$url = “http://insert.php”;
$dbname = ‘sms’;
$dbuser = ‘root’;
$dbpass = ”;
$dbhost = ‘localhost’;
gan yg $url itu harus pake // ato gmn??
soalnya ane masukin // mlah ijo urlnya jd ga kbaca 😮
mohon pencerahannya
Host tidak Ada URL
gan ente domisili dimana?
kalo di bandung ane mau tanya2 boleh 😮
Yup di bandung silahkan mampir di rumah atau kantor saya
alamatnya dimana mas??
saya benar2 minta tolong buat tugas akhir saya
kirim nomer no.hp mas ke email saya ya 😀
agungnugroho54@gmail.com
saya bener2 minta tolong mas 😮
Ini alamat saya
Rolly Maulana Awangga
Komplek Mekarsari Endah Blok A-5 RT.01 RW.24
Baleendah
Bandung 40375
gan cek email ya 🙂
numpang nanya donk, bner2 butuh bantuannya ini :-).. utk yg WAP kira2 bisa konek gak ya?.. misalnya utk database di taruh di hostingan, tp modemnyakn diserver lokal.. ane bhas sistem transaksi online, klo customer udh slesai belanja, habis tu sms gateway ngirim sms detail pesanan pelanggan itu.. utk proses yg kyak gitu bisa dkoneksikan gak ya? mkasi sbelumnya
Sangat bisa sekali mas
beneran??? asikkk hehe… ada tw caranya gak mas?? 😦
help me plissssss
Pilih saja hosting yg bisa remote sql kayak punyanya vas.web.id
ok2 mkasi ya mas..
File Mana Yang ditaruh di hosting, dan file mana yg harus di taruh di PC Lokal, Mohon Pencerahan
$url = “http://insert.php”; –> kemudian 8221 itu angka buat apa
” itu simbol mas, ” -> ” kalau yang ’ itu sama dengan ‘
& # 8221 ; -> ” dan kalau & # 8217 -> ‘
Mas, kalo mau nanya nanya via email bisa kemana ya? terimakasih
Bisa ke rolly@awang.ga On Jun 22, 2015 1:16 PM, “Rolly Maulana Awangga :: Catatan Ngoprek IT” wrote:
>
gan itu maksud dari code ini (‘http://data.php’); dari 4 digit nomor terakhir #8217 apa yah .
terus untuk konek ke shared web hosting atau lokal server itu gx pake ip public yah..
terima kasih
mas, say mau tanya
kalo pengaturan sms gateway di web hosting cpanel bagaimana ya mas?
terimakasih. mohon penjelasannya 🙂
mas boleh minta belajar saya bingung untung sinkronisasi server local dan server hostingnya, ane di sukapura mangga dua mas