logo blog

2016-12-15T22:27:00+07:00

Script Kirim Sms Dengan Engine Gammu Menggunakan Php Mysql

Broadcast Sms
Script Gratis Broadcast Sms Gammu Menggunakan Php Mysql - Bagaimana membuat script kirim pesan atau broadcast untuk mengirim sms via website localhost ke no tujuan dalam dalam hitungan detik. Untuk bisa berhasil mengirim pesan SMS gratis via web localhost saya akan terangkan tutorialnya menggunakan software Gammu sebagai Engine SMS Gateway.  Enggine SMS Gateway adalah dua  platform yang saling berinteraksi antara komputer server dan handphone menggunakan perintah sms. Pada dasarnya cara kerja sms gateway adalah client mengirim perintah melalui sms dari handphone. Pada Engine Gammu ini harus diletakan  di PC/Laptop yang terhubung dengan modem/hp dan keadaan status started di services windows / linux. Pertanyaan muncul bagaimana Cara menginstal SMS Gateway menggunakan software gammu . Untuk setting sms gateway sudah saya bahas di artikel saya sebelumnya silahkan anda ikuti link diatas.

Konsep dasar tentang penggunaan gammu saya harap anda sudah mengerti, sekarang kita bahas penggunaan bahasa pemrograman web php dan mysql untuk mengirim sms. Untuk script kirim sms memakai bahasa pemrogramannya menggunakan Php dan database Mysql. Php dibuat untuk membuat form isi dari pesan sms yang nanti akan dikirim sedangkan Mysql database digunakan untuk menampung data sms dan membuat laporan sms terkirim atau tidak. Sekarang langsung saja bagaimana membuat script sms menggunakan php dan mysql.
  1. Langkah pertama, Anda harus sudah menginstall Software Gammu sebagai Enggine SMS gateway nya. Pastikan keadaan status started di services windows / linux
  2. Langkap kedua anda harus menginstal Software Xampp atau AppServ dikomputer sebagai 
  3. Langkah ketiga , buatlah script form untuk mengirim SMS menggunskan Php. Script form ini nanti diletakkan di server PC /Laptop
    <form method="post" action="send.php">
    <input type="text" name="nohp" value="+62"><br>
    <textarea name="msg"></textarea><br>
    <input type="submit" name="submit" value="Kirim SMS">
    </form>
    <?php
    $noTujuan = "+628389213888";
    $message = "loha";
     
    exec('c:\xampp\htdocs\smsku\bin\gammu-smsd-inject.exe -c c:\xampp\htdocs\smsku\bin\smsdrc EMS '.$noTujuan.' -text "'.$message.'"');
     
    ?>
    FORM SEND SMS
  4. Langka keempat membuat database Mysql sms Gammu
    -- phpMyAdmin SQL Dump
    -- version 2.8.0.3
    -- http://www.phpmyadmin.net
    -- 
    -- Host: localhost
    -- Generation Time: Jun 10, 2006 at 11:08 PM
    -- Server version: 5.0.18
    -- PHP Version: 5.1.3
    -- 
    -- Database: `smsd`
    -- 
    
    -- --------------------------------------------------------
    
    -- 
    -- Table structure for table `daemons`
    -- 
    
    CREATE TABLE `daemons` (
      `Start` text NOT NULL,
      `Info` text NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    -- 
    -- Dumping data for table `daemons`
    -- 
    
    
    -- --------------------------------------------------------
    
    -- 
    -- Table structure for table `gammu`
    -- 
    
    CREATE TABLE `gammu` (
      `Version` integer NOT NULL default '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    -- 
    -- Dumping data for table `gammu`
    -- 
    
    INSERT INTO `gammu` (`Version`) VALUES (13);
    
    -- --------------------------------------------------------
    
    -- 
    -- Table structure for table `inbox`
    -- 
    
    CREATE TABLE `inbox` (
      `UpdatedInDB` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      `ReceivingDateTime` timestamp NOT NULL default '0000-00-00 00:00:00',
      `Text` text NOT NULL,
      `SenderNumber` 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 NOT NULL,
      `SMSCNumber` varchar(20) NOT NULL default '',
      `Class` integer NOT NULL default '-1',
      `TextDecoded` text NOT NULL default '',
      `ID` integer unsigned NOT NULL auto_increment,
      `RecipientID` text NOT NULL,
      `Processed` enum('false','true') NOT NULL default 'false',
      PRIMARY KEY `ID` (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    
    -- 
    -- Dumping data for table `inbox`
    -- 
    
    
    -- --------------------------------------------------------
    
    -- 
    -- Table structure for table `outbox`
    -- 
    
    CREATE TABLE `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',
      `SendBefore` time NOT NULL DEFAULT '23:59:59',
      `SendAfter` time NOT NULL DEFAULT '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` integer default '-1',
      `TextDecoded` text NOT NULL default '',
      `ID` integer unsigned NOT NULL auto_increment,
      `MultiPart` enum('false','true') default 'false',
      `RelativeValidity` integer default '-1',
      `SenderID` varchar(255),
      `SendingTimeOut` timestamp NULL default '0000-00-00 00:00:00',
      `DeliveryReport` enum('default','yes','no') default 'default',
      `CreatorID` text NOT NULL,
      PRIMARY KEY `ID` (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);
    CREATE INDEX outbox_sender ON outbox(SenderID);
    
    -- 
    -- Dumping data for table `outbox`
    -- 
    -- --------------------------------------------------------
    -- 
    -- Table structure for table `outbox_multipart`
    -- 
    
    CREATE TABLE `outbox_multipart` (
      `Text` text,
      `Coding` enum('Default_No_Compression','Unicode_No_Compression','8bit','Default_Compression','Unicode_Compression') NOT NULL default 'Default_No_Compression',
      `UDH` text,
      `Class` integer default '-1',
      `TextDecoded` text default NULL,
      `ID` integer unsigned NOT NULL default '0',
      `SequencePosition` integer NOT NULL default '1',
      PRIMARY KEY (`ID`, `SequencePosition`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    -- 
    -- Dumping data for table `outbox_multipart`
    -- 
    -- --------------------------------------------------------
    -- 
    -- Table structure for table `pbk`
    -- 
    
    CREATE TABLE `pbk` (
      `ID` integer NOT NULL auto_increment,
      `GroupID` integer NOT NULL default '-1',
      `Name` text NOT NULL,
      `Number` text NOT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    -- 
    -- Dumping data for table `pbk`
    -- 
    
    
    -- --------------------------------------------------------
    
    -- 
    -- Table structure for table `pbk_groups`
    -- 
    
    CREATE TABLE `pbk_groups` (
      `Name` text NOT NULL,
      `ID` integer NOT NULL auto_increment,
      PRIMARY KEY `ID` (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    
    -- 
    -- Dumping data for table `pbk_groups`
    -- 
    
    
    -- --------------------------------------------------------
    
    -- 
    -- Table structure for table `phones`
    -- 
    
    CREATE TABLE `phones` (
      `ID` text NOT NULL,
      `UpdatedInDB` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
      `InsertIntoDB` timestamp NOT NULL default '0000-00-00 00:00:00',
      `TimeOut` timestamp NOT NULL default '0000-00-00 00:00:00',
      `Send` enum('yes','no') NOT NULL default 'no',
      `Receive` enum('yes','no') NOT NULL default 'no',
      `IMEI` varchar(35) NOT NULL,
      `Client` text NOT NULL,
      `Battery` integer NOT NULL DEFAULT -1,
      `Signal` integer NOT NULL DEFAULT -1,
      `Sent` int NOT NULL DEFAULT 0,
      `Received` int NOT NULL DEFAULT 0,
      PRIMARY KEY (`IMEI`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    -- 
    -- Dumping data for table `phones`
    -- 
    -- --------------------------------------------------------
    -- 
    -- Table structure for table `sentitems`
    -- 
    
    CREATE TABLE `sentitems` (
      `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',
      `DeliveryDateTime` timestamp NULL,
      `Text` text NOT NULL,
      `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 NOT NULL,
      `SMSCNumber` varchar(20) NOT NULL default '',
      `Class` integer NOT NULL default '-1',
      `TextDecoded` text NOT NULL default '',
      `ID` integer unsigned NOT NULL default '0',
      `SenderID` varchar(255) NOT NULL,
      `SequencePosition` integer NOT NULL default '1',
      `Status` enum('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','DeliveryFailed','DeliveryPending','DeliveryUnknown','Error') NOT NULL default 'SendingOK',
      `StatusError` integer NOT NULL default '-1',
      `TPMR` integer NOT NULL default '-1',
      `RelativeValidity` integer NOT NULL default '-1',
      `CreatorID` text NOT NULL,
      PRIMARY KEY (`ID`, `SequencePosition`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);
    CREATE INDEX sentitems_tpmr ON sentitems(TPMR);
    CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);
    CREATE INDEX sentitems_sender ON sentitems(SenderID);
    
    -- 
    -- Dumping data for table `sentitems`
    -- 
    
    
    -- 
    -- Triggers for setting default timestamps
    -- 
    
    DELIMITER //
    
    CREATE TRIGGER inbox_timestamp BEFORE INSERT ON inbox
    FOR EACH ROW
    BEGIN
        IF NEW.ReceivingDateTime = '0000-00-00 00:00:00' THEN
            SET NEW.ReceivingDateTime = CURRENT_TIMESTAMP();
        END IF;
    END;//
    
    CREATE TRIGGER outbox_timestamp BEFORE INSERT ON outbox
    FOR EACH ROW
    BEGIN
        IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN
            SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();
        END IF;
        IF NEW.SendingDateTime = '0000-00-00 00:00:00' THEN
            SET NEW.SendingDateTime = CURRENT_TIMESTAMP();
        END IF;
        IF NEW.SendingTimeOut = '0000-00-00 00:00:00' THEN
            SET NEW.SendingTimeOut = CURRENT_TIMESTAMP();
        END IF;
    END;//
    
    CREATE TRIGGER phones_timestamp BEFORE INSERT ON phones
    FOR EACH ROW
    BEGIN
        IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN
            SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();
        END IF;
        IF NEW.TimeOut = '0000-00-00 00:00:00' THEN
            SET NEW.TimeOut = CURRENT_TIMESTAMP();
        END IF;
    END;//
    
    CREATE TRIGGER sentitems_timestamp BEFORE INSERT ON sentitems
    FOR EACH ROW
    BEGIN
        IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN
            SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();
        END IF;
        IF NEW.SendingDateTime = '0000-00-00 00:00:00' THEN
            SET NEW.SendingDateTime = CURRENT_TIMESTAMP();
        END IF;
    END;//
    
    DELIMITER ;
  5. Langka terakhir silahkan test script diatas.
Demikianlah cara membuat Script Sms Menggunakan Php Mysql dengan menggunakan enggine Gammu. Dari script php diatas bisa anda kembangkan untuk mengirim sms secara masal, contoh diatas adalah mengirim sms dengan nomor satu tujuan setiap kirim sms. Jika ada yang ingin ditanyakaan silahkankan berikan komentar dibawah ini dan saya akan membalas isi komentar anda.
Subscribe to this Blog via Email :
Author commando98

Author:

Dalam Bekerja Harus Menantang Menantang Itu Harus Menyenangkan

5 comments

Write comments

July 12, 2017 at 2:55 PM
file 'send.php'-nya mana om?
saya liat di form target ke send.php

Reply delete
avatar

September 15, 2018 at 11:26 PM
Upd4te Bett1ng agen jud1 b0la terpercaya di 1ndonesia
buruan daftar..

Reply delete
avatar
renata halim
Admin

January 21, 2019 at 1:15 AM
Fansbetting aman dan terpercaya
buruan daftar, main dan menangkan
PIN BB : 5EE80AFE :)

Reply delete
avatar
Rick
Admin

December 1, 2020 at 2:49 PM
Om untuk sms masal gmna ya?

Reply delete
avatar