Tutorial PHP - SMS Gateway 3 : Membuat Script Pengiriman SMS Panjang
Tutorial PHP - SMS Gateway 3 : Membuat Script Pengiriman SMS Panjang / Long SMS Gateway Gammu Enggine. Belajar SMS Gateway Dengan PHP, Gammu, PHP dan Bootstrap.
Selanjutnya mari kita belajar membuat script untuk membuat pengiriman SMS secara panjang atau Long SMS. Kita bisa membuat script untuk mengirim sms yang lebih dari 160 karakter. Tentu ini akan sangat memudahkan kita dalam menambah fitur yang ada. Cara kerja ialah sangat mudah, kita nantinya dapat membagi - bagi sms yang masuk dan kemudian kita gabungkan lagi smsnya. OK langsung saja kita buat scriptnya,
Folder project
Silahkan sobat semua buat folder project yang digunakan untuk menyimpan beberapa script berikut ini. Misalkan folder "sms3".Config.php
Script config.php ini berisikan koneksi yang ada pada database, pastikan nama database, username dan password yang ada sama dengan yang ada di phpMyadmin. Berikut ini scriptnya, silahkan copy dan pastekan di text editor sobat, lalu simpan dengan nama file config.php
<?php // koneksi ke database $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'sms'; mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname);
Function.php
Function.php ini ialah class php yang nantikan digunakan untuk mengirim pesan secara panjang atau lebih dari 160 karekter. Berikut ini sciptnya, silahkan sobat bisa copy dan simpan dengan nama function.php
<?php function ngirimsms($nohp, $pesan, $modem) { $pesan = str_replace("'", "\'", $pesan); if (strlen($pesan)<=160) { // jika panjang pesan maks 160 karakter $query = "INSERT INTO outbox (DestinationNumber, TextDecoded, SenderID, CreatorID) VALUES ('$nohp', '$pesan', '$modem', 'Gammu')"; $hasil = mysql_query($query); } else { // jika panjang pesan > 160 karakter $jmlSMS = ceil(strlen($pesan)/153); $pecah = str_split($pesan, 153); $query = "SHOW TABLE STATUS LIKE 'outbox'"; $hasil = mysql_query($query); $data = mysql_fetch_array($hasil); $newID = $data['Auto_increment']; $random = rand(1, 255); $headerUDH = sprintf("%02s", strtoupper(dechex($random))); for ($i=1; $i<=$jmlSMS; $i++) { $udh = "050003".$headerUDH.sprintf("%02s", $jmlSMS).sprintf("%02s", $i); $msg = $pecah[$i-1]; if ($i == 1) { $query = "INSERT INTO outbox (DestinationNumber, UDH, TextDecoded, ID, MultiPart, SenderID, CreatorID) VALUES ('$nohp', '$udh', '$msg', '$newID', 'true', '$modem', 'Gammu')"; } else $query = "INSERT INTO outbox_multipart(UDH, TextDecoded, ID, SequencePosition) VALUES ('$udh', '$msg', '$newID', '$i')"; mysql_query($query); } } return 'SMS sending'; }
Index.php
Ok, selanjutnya mari kita buat file index.php, script ini berisikan sebuah form yang digunakan untuk mengirim, silahkan sobat copy dan simpan dengan nama file index.php dan jangan lupa simpan di folder yang sudah dibuat di atas.<?php include 'config.php'; include 'function.php'; ?> <html> <head> <title>Kirim SMS Panjang</title> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <h1>Kirim SMS Panjang</h1> <form method="post" action="index.php?op=kirim"> Nomor HP Tujuan<br> <input type="text" name="nohp"><br><br> Pesan SMS<br> <textarea name="pesan" cols="20" rows="5"></textarea><br><br> <input type="submit" name="submit" value="Kirim SMS"> </form> <?php if (isset($_GET['op'])) { if ($_GET['op'] == 'kirim') { $nohp = $_POST['nohp']; $pesan = $_POST['pesan']; ngirimsms($nohp, $pesan, ''); } } ?> </body> </html>
Jangan lupa ya ketiga scipt ini disimpan dalam satu folder yang sudah di buat dan simpan di folder project htdocs sobat.
Sekian tutorial kali ini tentang Tutorial PHP - SMS Gateway 3 : Membuat Script Pengiriman SMS Panjang, script ini saya dapat referensi dari google dan ebook yang saya gunakan untuk belajar, Silahkan sobat gunakan untuk belajar juga. Semoga tutorial kali ini bermanfaat ya, Terima Kasih
jack untuk buat dbname dan table namanya apa aja ya...? masa cuma script aja ya ?
BalasHapus