Saturday, July 16, 2016

Kategori:

Tutorial PHP - SMS Gateway 3 : Membuat Script Pengiriman SMS Panjang

sms-gateway

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';
}


Didalam script fuction.php terdapat class ngirimsms, class inilah yang nantinya akan digunakan pada scipt index.php yang di includekan.


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 - tobiweb.id</title>
  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  </head>
 <body>
  <h1>Kirim SMS Panjang - tobiweb.id</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

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.

2 comments:

  1. jack untuk buat dbname dan table namanya apa aja ya...? masa cuma script aja ya ?

    ReplyDelete
    Replies
    1. Pelajari gammu database mysql dulu gan, sebelum pake script ini !!!!

      Delete

 

News Letters

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

Tobi Web Indonesia