Saturday, July 16, 2016

Kategori:

Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS

sms-gateway

Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS


Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS dengan Gammu Enggine, Database MySQL.

Masih di edisi mengulik atau belajar source code, kali ini saya akan berbagi mengenai cara untuk membuat SMS broadcast pada gammu enggine sms broadcast ini sering kita terima dari orang2 yang tidak dikenal, seperti misalnya promosi, ucapan selamat ulang tahun, dan lain sebagainya, maka dari itu, kali ini saya buat contoh project sederhana membuat script broadcast SMS. Mari kita mulai saja, cara kerjanya ialah dengan mengirim SMS secara masal ke seluruh kontak yang ada berdasarkan group yang dipilih.
Langsung saja kita mulai cara pembuatannya.


Folder project


Silahkan sobat semua buat folder project broadcast sms panjang ini yang digunakan untuk menyimpan beberapa script berikut ini. Misalkan folder "sms6".


Config.php

Selanjutnya buat script config.php ini berisikan koneksi yang ada pada database gammu enggine, pastikan nama database, username dan password yang ada sama dengan yang ada di phpMyadmin. Berikut ini scriptnya, silahkan copy dan pastekan di text editor notepadd++ atau sublime text 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


Selanjutnya mari kita buat script function yang digunakan untuk mengirim sms ke group yang dipilih, berikut ini scriptnya silahkan copy dan kasih nama function.php


<?php

function ngirimsms($nohp, $pesan, $modem)
{
 
 $pesan = str_replace("'", "\'", $pesan);
 
 if (strlen($pesan)<=160)
 { 
  $query = "INSERT INTO outbox (DestinationNumber, TextDecoded, SenderID, CreatorID) 
            VALUES ('$nohp', '$pesan', '$modem', 'Gammu')";
  $hasil = mysql_query($query);
 }
 else
 {
  $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


Script index.php ini script yang digunakan untuk tampilan form awal dimana kita bisa memilih group beserta test pesan yang akan dikirim, berikut ini scriptnya silahkan copy dan kasih nama index.php.



<?php
include "config.php";
include "function.php";
?>
 
<html>
 <head>
   <title>Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS - Tobiweb</title>
 </head>
 <body>
   <h1>Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS - Tobiweb/h1>
   
   <form method="post" action="index.php">
   Tuliskan pesan SMS di sini:<br>
   <textarea name="sms" cols="40" rows="5"></textarea><br><br>
   Pilih Group:<br>
   <select name="group">
     <option>Semua</option>
  
   <?php
      $query = "SELECT * FROM pbk_groups";
      $hasil = mysql_query($query);
      while ($data = mysql_fetch_array($hasil))
      {
         echo "<option value='".$data['ID']."'>".$data['Name']."</option>";
      }   
   ?> 
   </select>
   <br><br>
   <input type="submit" name="submit" value="Kirim SMS">
   </form>
   
 <?php
   
   if (isset($_POST['submit']))
   {
      $sms = $_POST['sms'];
   $group = $_POST['group'];
   
   if ($group == "Semua")
   {
  // query untuk membaca semua nomor jika yang dipilih 'Semua'
     $query = "SELECT * FROM pbk";
   }
   else
   {
     // query untuk membaca nomor dalam group jika yang dipilih group tertentu
     $query = "SELECT * FROM pbk WHERE GroupID = '$group'";
   }
   
   $hasil = mysql_query($query);
   while ($data = mysql_fetch_array($hasil))
   {
  $nohp = $data['Number'];
  // proses kirim sms
  ngirimsms($nohp, $sms, '');  
   }
      echo "<p>SMS sending...</p>";   
   }
 ?>
 </body>
</html>


Sekian postingan artikel tentang Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS, semoga artikel kali ini dapat membantu sobat semua yang sedang mencari tutorial membuat broadcast sms dengan php dan sms gateway. Nantika cara membuat SMS broadcast berdasarkan data telephone yang ada pada Excel.

Jangan lupa kunjungi artikel lainnya tentang SMS Gateway, banyak artikel sms gateway dan source code gratis yang ada pada tobiweb.



Tobi Muhammad

Author & Editor

Tobi (Muhammad Tobi) adalah seorang Tukang Masak di perusahaan startup, suka sekali menulis dan mempelajari source code open source lisensi GNU di Github dll. Bisa pemrogramman web karena sering belajar dari contoh program yang ada di Github dll. Anak desa yang hanya lulusan Paket C.

4 comments:

 

News Letters

Subscribe here to get our newsletter in your inbox, it is safe and EASY!

Tobi Web Indonesia