Friday, July 15, 2016

Kategori:

Tutorial PHP - SMS Gateway 1 : Membuat Script Pengiriman Short SMS

sms-gateway

Tutorial PHP - SMS Gateway 1 : Membuat Script Pengiriman Short SMS


Tutorial PHP - SMS Gateway 1 : Membuat Scipt Pengiriman Short SMS, Belajar SMS Gateway dan Cara Membuat Pengiriman Short SMS Gateway dengan Gammu, Belajar SMS Gateway Gammu PHP dan Database MySQL dan Boostrap.

Pada kesempatan kali ini saya akan berbagi cara membuat Scipt pengiriman short sms. Tutorial kali ini bakal lebih fresh dan terbaru, karena didukung dengan fitur bootstrap sebagai designnya, jadi sobat tidak bosen dengan tampilan yang itu-itu saya. Short SMS atau pengiriman sms dengan menggunakan gammu ini ialah sms yang hanya memuat 160 buah kareakter saja. Cara membuat Pengiriman SMS ini bisa sobat semua ikuti beberapa panduan yang akan saya share kali ini. Cara kerjanya ialah menyisipkan atau insert data pada tabel OUTBOX bawaan gammu, nanti enggine gammu akan mengirim secara otomatis. Untuk menjalankan scipt ini pastikan sobat sudah melakukan instal gammu sampai selesai dan bisa untuk test.

Table OUTBOX ini ialah table yang otomatis bawaan dari gammu :



CREATE TABLE IF NOT EXISTS `outbox` (
  `UpdatedInDB` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `InsertIntoDB` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `SendingDateTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `Text` text,
  `DestinationNumber` varchar(20) NOT NULL DEFAULT '',
  `Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL DEFAULT 'Default_No_Compression',
  `UDH` text,
  `Class` int(11) DEFAULT '-1',
  `TextDecoded` text NOT NULL,
  `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `MultiPart` enum('false','true') DEFAULT 'false',
  `RelativeValidity` int(11) DEFAULT '-1',
  `SenderID` varchar(255) DEFAULT NULL,
  `SendingTimeOut` timestamp NULL DEFAULT '0000-00-00 00:00:00',
  `DeliveryReport` enum('default','yes','no') DEFAULT 'default',
  `CreatorID` text NOT NULL,
  PRIMARY KEY (`ID`),
  KEY `outbox_date` (`SendingDateTime`,`SendingTimeOut`),
  KEY `outbox_sender` (`SenderID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;

Dari bebera field di ata ada beberapa field yang harus sobat ketahui seperti diantaranya ialah :

DestinationNumber : Nomor tujuan pengiriman SMS

TextDecoded : Pesan SMS yang akan dikirimkan

Class : Jika diisi 0 maka SMS yang dikirim berupa SMS
Flash, jika diisi -1 maka yang dikirim berupa SMS
normal. Jika tidak diisi, secara default akan diisi -1.

CreatorID :  Isikan sembarang teks, misal: Gammu

SendingDateTime : Waktu kapan SMS akan dikirimkan

Berikut ini ialah contoh query SQL yang digunakan untuk menyisipkan record ke tabel outbox untuk mengirimkan sebuah pesan sms ke nomor tertentu.



INSERT INTO outbox
(DestinationNumber, TextDecoded, SenderID, CreatorID, Class)
VALUES ('08571111111', 'Test SMS', '', 'Gammu', '-1');



Berikut ini cara-cara yang harus sobat semua ikuti.

Buat folder project/case

Silahkan sobat buat folder yang berguna untuk menyimpan beberapa script php di folder HTDOCS sobat. Misalkan saya folder "sms1".

config.php

Buat scipt config.php, lalu simpan script di folder yang sudah dibuat diatas. Pastikan sudah sama dengan nama database, username database dan password database yang sudah sobat buat saat instalasi gammu. Script config ini menggunakan mysql pdo. Silahkan copy script dibawah ini dan simpan dengan nama file config.php.



<?php
 $db_host = "localhost";
 $db_name = "gammu";
 $db_user = "root";
 $db_pass = "";
 
 try{
  
  $db_con = new PDO("mysql:host={$db_host};dbname={$db_name}",$db_user,$db_pass);
  $db_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 }
 catch(PDOException $e){
  echo $e->getMessage();
 }



fuction.php

Mari kita biasakan menggunakan tehnik oop dalam membuat project ini. Silahkan buat script function.php untuk mengirim/ menyisipkan record pada tabel OUTBOX. Berikut ini scriptnya, silahkan simpan pada folder yang sudah di buat di atas dengan nama file function.php.


<?php

// send short sms

function sendsms($nohp, $pesan, $modem)
{
 $pesan = str_replace("'", "\'", $pesan);
 $query = "INSERT INTO outbox (DestinationNumber, TextDecoded, SenderID, CreatorID) 
           VALUES ('$nohp', '$pesan', '$modem', 'Gammu')";
    $hasil = mysql_query($query);
 return 'SMS sending...';
}


index.php

File index.php ini ialah file yang pertama kali akan di jalankan, silahkan sobat bisa copy salu simpan dengan nama index.php. Jangan lupa sisipka cdn boostrapnya, sehingga tampilan form mengirim pesan lebih bagus.



<?php
 include 'config.php';
 include 'function.php';
?>
<html>
 <head>
          <title> Kirim Short SMS - tobiweb.id</title>
           <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
 </head>
 <body>
  <h1> Kirim Short SMS - 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'];
    sendsms($nohp, $pesan, '');
   } 
  }
  
  ?>
  
 </body>
</html>

Setelah selesai jalankan di web browser sobat dengan url "localhost/folderproject" atau "localhost/sms1". Lalu silahkan test untuk mengirimkan pesan ke nomor yang aktif, pastikan pulsa modem sobat terdapat pulsanya yah, hehe
Pastikan juga ketiga file script diatas terdapat pada satu folder.

Ok sekian tutorial kali ini, mudah bukan cara membuatnya, sript ini saya olah dari berbagai sumber di google. Silahkan jika ada bertanyaan jangan sungkan-sungkan untuk berkomentar.


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.

6 comments:

  1. permisi gan, jadi itu fungsi SendingDateTime sdh include ya sama gammu? trus artinya kita tinggal buat aja skrip untuk input tanggal kirim ya? maaf gan nanya kek gitu, soalnya msh baru belajar buat pake gammu.

    ReplyDelete
    Replies
    1. SendingDateTime itu udah otomatis terisi pas ada insert data, bawaan gammu

      Delete
    2. kalo saya mau buat pesan dengan waktu yg bisa diatur sendiri bisa nda tuh gan pake sendingdatetime?

      Delete
  2. Tanks gan mantap. bagi kawan-kawan yang butuh referensi script php full berbagai aplikasi sms gateway, SI, pakar, SPK, Websiste kawan-kawan bisa kunjungi freescriptsweb.com banyak koleksi aplikasi php berbasis web.

    ReplyDelete

 

News Letters

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

Tobi Web Indonesia