Lompat ke konten Lompat ke sidebar Lompat ke footer

Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS




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</title>
 </head>
 <body>
   <h1>Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS/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



4 komentar untuk "Tutorial PHP - SMS Gateway 5 : Membuat Script Broadcast SMS"

  1. gan kalo berdasarkan id gimana ya gan ?

    BalasHapus
  2. gan kalo berdasarkan id gimana ya gan ?

    BalasHapus
  3. Halo gan, itu kalo broadcast sms ke banyak nomer menggunakan group sms atau bagaimana ya ?

    BalasHapus

Berlangganan via Email