Pernahkan anda mendapatkan sms yang berisi selamat ulang tahun atau ucapan lain sesuai dengan moment tertentu, kalau pernah apakah anda pernah membayangkan bagaimana mereka bisa mengirimkan sms tersebut sesuai dengan moment penting anda ? apakah mereka memang sengaja melihat database untuk mencari data orang yang ulang tahun untuk kemudian selanjutnya akan mengirimkan sms secara manual atau ada sistem yang melakukan hal tersebut ?

Pada tutorial ini kita akan membedah kasus tersebut, kita akan belajar cara membuat sistem dengan skenario sistem akan mengirimkan sms ulang tahun kepada mahasiswa yang berulang tahun secara otomatis, data nya nanti akan kita ambil dari database.

Membuat Database Untuk Simulasi Latihan

Tahap pertama kita akan membuat database terlebih dahulu tentunya, saya sudah membuat sebuah database dengan nama tutorial, lalu pada database tersebut saya buat tabel maahsiswa dengan struktur seperti pada gambar dibawah ini, pada tabel mahasiswa terdapat field tanggal_lahir yang akan kita jadikan acuan ketika ingin mengirimkan pesan selamat ulang tahun nantinya :

setelah membuat tabelnya, kemudian kita akan menyisipkan beberapa data yang akan kita gunakan ketika simulasi nantinya, anda boleh sisipkan data secara manual atau menggunakan tools seperti PhpMyAdmin.

Membuat Script Untuk Mendapatkan Data Mahasiswa Yang Ulang Tahun

Sekarang kita akan membuat script php untuk mendapatkan data mahasiwa yang ulang tahun pada hari ini, silahkan buat sebuah file dengan nama ulang_tahun.php dan tulis script berikut:

sekarang silahkan akses file sms_ulang_tahun.php yang sudah kita buat tadi dan jika script anda benar maka akan muncul data seperti ini :

Membuat Script Untuk Mengirimkan SMS

Untuk mengirimkan sms kita akan menggunakan layanan SMS dari zenziva, silahkan daftar untuk mendapatkan userkey dan passkey yang akan kita gunakan untuk melakukan request pengiriman sms nantinya, oke kalau anda sudah daftar, sekarang silahkan buat sebuah file baru dengan nama sms.php, pada file ini kita akan membuat function send_sms() yang akan kita gunakan untuk mengirimkan sms nantinya, function ini memiliki 2 parameter yaitu no tujuan dan pesan, script nya adalah berikut :

<?php
function send_sms($notujuan,$pesan) {
    $userkey = "USER_KEY_ANDA";
    $passkey = "PASS_KEY_ANDA";
    $url = "https://reguler.zenziva.net/apps/smsapi.php";
    $curlHandle = curl_init();
    curl_setopt($curlHandle, CURLOPT_URL, $url);
    curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'userkey=' . $userkey . '&passkey=' . $passkey . '&nohp=' . $notujuan . '&pesan=' . urlencode($pesan));
    curl_setopt($curlHandle, CURLOPT_HEADER, 0);
    curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curlHandle, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curlHandle, CURLOPT_TIMEOUT, 30);
    curl_setopt($curlHandle, CURLOPT_POST, 1);
    $results = curl_exec($curlHandle);
    curl_close($curlHandle);
}
?>

nanti cara penggunaan nya adalah sebagai berikut :

<?php
// Memangggil file sms yang berisi script untuk mengirim sms
include 'sms.php';
// Meenggunakan function send_sms() untuk mengirim sms
send_sms("089699935552",'Testing Kirim Pesan')
?>

Script PHP Untuk Mengirimkan SMS Ulang Tahun

Setelah membuat function untuk mengirimkan sms, sekarang kita akan melakukan modifiaksi pada script sms_ulang_tahun.php yang telah kita buat tadi dengan menambahkan script untuk mengirimkan sms kepada mahasiswa yang berulang tahun pada hari ini, silahkan modifikasi sehingga menjadi seperti berikut :

<?php
// konfigurasi database
$host = "localhost";
$user = "root";
$password = "";
$database = "tutorial";
$connect = mysqli_connect($host, $user, $password, $database);
 
// memanggil file sms yang berisi script untuk mengrimkan sms
include 'sms.php';
 
// script untuk mendapatkan data tanggal hari ini
$dateNow = date("Y-m-d");
 
// mendapatkan data mahasiswa yang ulang tahun hari ini
$mahasiswa = mysqli_query($connect, "select * from mahasiswa where tanggal_lahir='$dateNow'");
 
while($row= mysqli_fetch_array($mahasiswa)){
 
// script ini akan mengirimkan sms kepada mahasiswa yang berulang tahun hari ini
send_sms($row['no_hp'],"selamat Ulang tahun $row[nama_lengkap] dari belajarphp.net");
}
?>

Mengirimkan SMS Secara Otomatis Dengan Cron Job

Sekarang waktunya membuat agar sistem mengirimkan sms secara otomatis setiap hari, untuk hal ini kita bisa memanfaatkan cron job untuk mengeksekusi script tadi secara otomatis pada waktu yang telah kita tentukan sebelumnya, silahkan cari menu cron job pada cpanel anda

Berikut ini adalah contoh settingan agar sistem mengeksekusi script mengirimkan sms secara otomatis pada jam 11 siang sesuai dengan time zone pada web server, untuk pembahasan lebih jauh tentang cron job bisa anda baca pada artikel Tutorial Memanfaatkan Cron Job Untuk Menjalankan Perintah PHP

Demikianlah step by step untuk mengimplementasikan idea mengirimkan sms ulang tahun secara otomatis setiap hari dengan PHP, semoga tutorial ini bermanfaat.

sumber: belajarphp.net