Tutorial Membuat SMS Gateway Menggunakan Engine Gammu

Minggu, 24 Februari 2013

Membuat form antarmuka untuk mengirimkan sms dengan PHP

Jika sebelumnya saya telah membahas beberapa teknik pengiriman SMS menggunakan gammu, maka kali ini saya akan membahas tentang pembuatan antar muka pengiriman sms menggunakan gammu. Pada aplikasi yang akan kita buat kali ini kita akan bisa mengirimkan lebih dari 1 sms (lebih dari 160 karakter). Baik langsung saja kita mulai.








1. Terlebih dahulu copy paste script dari form pengiriman sms berikut



<form action="kirim_sms.php" method="post" name="kirim_sms" id="kirim_sms">
<p>No Tujuan :
<input name="no_hp" type="text" id="no_hp">
* gunakan 08xxxxxx</p>
<p>Isi SMS :
<textarea name="isi_sms" rows="3" id="isi_sms"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="kirim sms">
</p>
</form>
view raw index.php hosted with ❤ by GitHub
Hasil yang ditampilkan di browser


2. Kemudian buat juga script untuk memproses pengiriman sms. Copy paste script berikut dan beri nama kirim_sms.php


<?
// koneksi ke database
$hostname_config = "localhost";
$database_config = "ok";
$username_config = "root";
$password_config = "root";
$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_config, $config);
echo"<a class='baca'>Pesan anda sedang dikirim ke nomer dibawah ini, silahkan cek di tabel sent_items untuk laporan pengirimannya<br></a>";
// pesan asli
$pesan = "$isi_sms";
// hitung jumlah sms dengan dibagi 160
$jmlSMS1 = ceil(strlen($pesan)/160);
// proses script ini jika jumlah sms satu
if($jmlSMS1==1)
{
$query = mysql_query("INSERT INTO outbox (DestinationNumber, TextDecoded, ID, CreatorID) VALUES
('$no_hp', '$pesan', '$newID', 'Gammu')");
echo"<a class='baca'>$no_hp<br></a>";
}
// proses script ini jika jumlah sms lebih dari satu
if($jmlSMS1<>1)
{
// menghitung jumlah pecahan
$jmlSMS = ceil(strlen($pesan)/153);
// memecah pesan asli
$pecah = str_split($pesan, 153);
// proses untuk mendapatkan ID record yang akan disisipkan ke tabel OUTBOX
$query = "SHOW TABLE STATUS LIKE 'outbox'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$newID = $data['Auto_increment'];
// proses penyimpanan ke tabel mysql untuk setiap pecahan
for ($i=1; $i<=$jmlSMS; $i++)
{
// membuat UDH untuk setiap pecahan, sesuai urutannya
$udh = "050003A7".sprintf("%02s", $jmlSMS).sprintf("%02s", $i);
// membaca text setiap pecahan
$msg = $pecah[$i-1];
if ($i == 1)
{
// jika merupakan pecahan pertama, maka masukkan ke tabel OUTBOX
$query = "INSERT INTO outbox (DestinationNumber, UDH, TextDecoded, ID, MultiPart, SenderID, CreatorID)
VALUES ('$no_hp', '$udh', '$msg', '$newID', 'true', '$phoneid', 'Gammu')";
echo"<a class='baca'>$no_hp<br></a>";
}
else
{
// jika bukan merupakan pecahan pertama, simpan ke tabel OUTBOX_MULTIPART
$query = "INSERT INTO outbox_multipart(UDH, TextDecoded, ID, SequencePosition)
VALUES ('$udh', '$msg', '$newID', '$i')";
}
// jalankan query
mysql_query($query);
}
}
?>
view raw kirim_sms.php hosted with ❤ by GitHub

Berikut hasil tampilan hasil pengiriman sms dari script kirim_sms.php


Share:

Related Posts:

0 komentar:

Posting Komentar

Copyright © 2025 SMS Gateway | Powered by Blogger