UP
    Latest News
Showing posts with label PHP. Show all posts
Showing posts with label PHP. Show all posts

Tips PHP : (SMS GATEWAY PHP MYSQL) Masalah-Masalah di Gammu dan cara Mengatasinya

Tips PHP : (SMS GATEWAY PHP MYSQL) Masalah-Masalah di Gammu dan cara Mengatasinya
Halo sahabat setia Belajar Pintar PHP, lama tidak posting lagi nih, oke ,,, kali ini saya ingin membagikan kepada anda cara mengatasi masalah yang muncul dalam sms gateway. ini juga karena sudah banyaknya yang pengujung yang mengalami masalah dalam pembuatan sms gateway.
oke tanpa banyak basa-basi, langsung saja kita bahas satu-persatu sekarang.

1. Pesan “Missing msvcr71.dll”

Pesan ini muncul dalam bentuk pop up window. Pesan ini seringkali muncul ketika cek koneksi Gammu dengan modem atau ketika mengetikkan command: gammu identify. Apa penyebab munculnya error tersebut? Penyebabnya adalah tidak adanya file library msvcr71.dll pada windows anda, atau bisa juga file tersebut corrupt atau diserang virus. Penyebab hilang atau corruptnya file tersebut bisa jadi karena virus atau terhapus secara tidak sengaja.
Solusinya :
Solusinya adalah menaruh kembali file msvcr71.dll ke dalam direktori C:/WINDOWS/SYSTEM32 (Jika Anda menggunakan Windows XP atau 7 32 bit), atau C:/WINDOWS/SYSWOW64 jika Anda menggunakan Win 7 64 bit. Anda bisa mendownload file msvcr71.dll tersebut di http://www.4shared.com/file/W94ZJ9vr/msvcr71.html.

2. Pesan “Error installing gammu service”

Pesan error ini muncul pada waktu proses pembuatan atau instalasi service gammunya, atau setelah mengetikkan command: gammu-smsd -c smsdrc -i. Penyebab dari error tersebut adalah pengaruh dari sistem keamanan Windows yang tidak mengijinkan untuk membuat service. Biasanya hal ini terjadi di Windows 7.
Solusinya :
Solusinya adalah, sebelum menginstall service pastikan Anda sudah menurunkan level UAC (User Account Control) sampai ke level paling bawah. Di manakah pengaturan UAC nya? Untuk mengubah level UAC, silakan masuk ke control panel windows, kemudian pada kotak pencarian ketikkan saja: uac. Kemudian klik pada bagian ‘Change User Account Control Setting’. Setelah itu drag saja panel levelnya sampai pada level paling bawah (never notify). Kemudian restart PC atau Laptop anda. Selanjutnya ulangi lagi proses pembuatan servicenya.

3. Pesan “The drive cannot find the sector requested.”

Pesan di atas muncul ketika akan menjalankan service gammu yang telah dibuat. Apa penyebab dari error tersebut? berikut beberapa kemungkinan penyebabnya :
  • Ada beberapa struktur tabel database Gammu yang tidak lengkap (belum dibuat), atau ada tabel database yang corrupt atau rusak. Solusi dari penyebab ini adalah melakukan repair tabel dari yang corrupt tersebut (bisa melalui phpMyAdmin), atau jika ternyata ada tabel dari database Gammu yang belum diinstall, maka segera buat tabel yang kurang tersebut.
  • Adanya ketidaksesuaian nama database yang disetting di file SMSDRC nya dengan nama database MySQL atau database lain yang sudah dibuat. Solusinya pastikan nama database di file SMSDRC sama dengan database yang sudah Anda buat tempat Anda membuat tabel-tabel Gammu nya. Jika ternyata memang nama database yang di SMSDRC salah, maka hapus terlebih dahulu service Gammu yang sudah dibuat, kemudian buat lagi servicenya.
  • Username dan password koneksi ke database Gammu yang sudah disetting di file SMSDRC tidak sesuai atau salah. Solusinya pastikan username dan password koneksi ke database Gammunya benar. Jika ternyata username dan password di SMSDRC ini salah, maka hapus dahulu service gammu nya dan lakukan instalasi service ulang.
  • Struktur tabel database Gammu yang sudah dibuat berasal dari versi Gammu yang berbeda dengan Gammu yang sedang digunakan. Sebagai contoh misalkan Anda menggunakan Gammu versi X, tapi struktur tabel databasenya mengambil dari Gammu versi Y. Solusinya, pastikan struktur tabel database Gammu yang akan Anda buat berasal dari versi Gammu yang Anda gunakan.
Sekian tutorial SMS Gateway nya, saya harap dengan tutorial yang cukup singkat ini, dapat membantu anda para sahabat setia Belajar Pintar PHP dalam pembuatan SMS Gateway PHP MYSQL menjadi sempurna.
Terimakasih,

CodeIgniter : Cara Mengirim Email Dengan CodeIgniter PHP

CodeIgniter : Cara Mengirim Email Dengan CodeIgniter PHP

Mengirim Email

Halo sahabat Belajar Pintar PHP, mengirim email tidak hanya sederhana, tetapi Anda dapat mengkonfigurasinya dengan cepat atau menetapkan preferensi Anda dalam file konfigurasi.
Berikut adalah contoh dasar menunjukkan bagaimana Anda bisa mengirim email

Catatan: Contoh ini mengasumsikan Anda mengirim email dari salah satu controllers Anda.

$this->load->library('email');

$this->email->from('ivan@contoh.com', 'nama anda');
$this->email->to('seseorang@contoh.com'); 
$this->email->cc('contoh@contoh-contoh.com'); 
$this->email->bcc('mereka@kalian-contoh.com'); 

$this->email->subject('Test Email');
$this->email->message('Mari Belajar Pintar PHP.');

$this->email->send();

echo $this->email->print_debugger();


Mengatur Preferensi Email

Perlu anda ketahui sahabat belajar pintar php , bahwa disini ada 17 pilihan yang berbeda tersedia untuk menyesuaikan bagaimana pesan email Anda dikirim. Anda dapat mengatur secara manual seperti yang dijelaskan di sini, atau secara otomatis melalui preferensi yang tersimpan dalam file konfigurasi Anda, dijelaskan di bawah ini:

Preferensi ditetapkan dengan melewatkan array nilai preferensi untuk fungsi initialize email. Berikut adalah contoh bagaimana Anda dapat mengatur beberapa preferensi:

$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;

$this->email->initialize($config);

Catatan: Sebagian besar preferensi memiliki nilai default yang akan digunakan jika Anda tidak menetapkannya.


Mengatur Preferensi Email di File Config


Jika sahabat semua memilih untuk tidak menetapkan preferensi menggunakan metode di atas, Anda juga bisa menempatkannya ke dalam sebuah file konfigurasi. Cukup membuat file baru yang disebut email.php, tambahkan array $ config dalam file tersebut. Kemudian simpan file di config / email.php dan akan digunakan secara otomatis. Anda tidak akan perlu menggunakan $ this-> email-> initialize () fungsi jika Anda menyimpan preferensi Anda dalam file konfigurasi.

Preferensi Email

Berikut ini adalah daftar semua preferensi yang dapat diatur saat mengirim email.
PreferensiNilai DefaultOptions / PilihanDeskripsi
useragentCodeIgniterNone "user agent".
protocolmailmail, sendmail, or smtpProtokol pengiriman email.
mailpath/usr/sbin/sendmailNoneJalur server untuk pengiriman email.
smtp_hostNo DefaultNoneSMTP Alamat Server.
smtp_userNo DefaultNoneSMTP Username.
smtp_passNo DefaultNoneSMTP Password.
smtp_port25NoneSMTP Port.
smtp_timeout5NoneSMTP Timeout (in seconds).
wordwrapTRUETRUE or FALSE (boolean)aktif / tidak aktif word-wrap.
wrapchars76menghitung karakter pada wrap at.
mailtypetexttext or htmlJenis mail. Jika Anda mengirim email HTML, Anda harus mengirimkannya sebagai halaman web lengkap. Pastikan Anda tidak memiliki link relatif atau path relatif ke gambar kalau tidak ini tidak akan bekerja.
charsetutf-8set karakter (utf-8, iso-8859-1, etc.).
validateFALSETRUE or FALSE (boolean)Apakah akan memvalidasi alamat email.
priority31, 2, 3, 4, 5Email Prioritas. 1 = tertinggi. 5 = terendah. 3 normal =.
crlf\n"\r\n" or "\n" or "\r"Karakter baris baru. (Gunakan "\ r \ n" untuk mematuhi RFC 822).
newline\n"\r\n" or "\n" or "\r"Karakter baris baru. (Gunakan "\ r \ n" untuk mematuhi RFC 822).
bcc_batch_modeFALSETRUE or FALSE (boolean)Aktifkan Batch Mode BCC.
bcc_batch_size200NoneJumlah email di setiap batch BCC.

Email Function Reference

$this->email->from()
Mengatur alamat email dan nama orang yang mengirim email:

$this->email->from('ivan@contoh.com', 'Nama Anda');

$this->email->reply_to() 
Mengatur balasan-untuk mengatasi. Jika informasi tersebut tidak diberikan informasi dalam fungsi "dari" digunakan. contoh:

$this->email->reply_to('ivan@contoh.com', 'Nama Anda');

$this->email->to()
Mengatur alamat email (s) dari penerima (s). Bisa satu email, daftar koma-delimited atau array:

$this->email->to('someone@example.com');

$this->email->to('one@example.comtwo@example.comthree@example.com');

$list = array('one@example.com', 'two@example.com', 'three@example.com');

$this->email->to($list);

$this->email->cc()

Mengatur email address CC (s). Sama seperti "untuk", bisa menjadi satu email, daftar koma-delimited atau array.


$this->email->bcc()

Mengatur alamat email BCC (s). Sama seperti "untuk", bisa menjadi satu email, daftar koma-delimited atau array.
$this->email->subject()
Mengatur subjek email:

$this->email->subject('Ini adalah subjek saya');

$this->email->message()
Mengatur isi pesan email:

$this->email->message('Ini adalah pesan saya');

$this->email->set_alt_message()
Mengatur tubuh pesan email alternatif:

$this->email->set_alt_message('Ini adalah pesan alternatif');

Ini adalah string pesan opsional yang dapat digunakan jika Anda mengirim email HTML diformat. Ini memungkinkan Anda menentukan pesan alternatif tanpa format HTML yang ditambahkan ke string header untuk orang-orang yang tidak menerima email HTML. Jika Anda tidak menetapkan CodeIgniter pesan Anda sendiri akan mengekstrak pesan dari email HTML Anda dan strip tag.
$this->email->clear()
Menginisialisasi semua variabel email ke keadaan kosong. Fungsi ini dimaksudkan untuk digunakan jika Anda menjalankan mengirim email fungsi dalam satu lingkaran, memungkinkan data diatur ulang antara siklus.

foreach ($list as $name => $address)
{
    $this->email->clear();

    $this->email->to($address);
    $this->email->from('your@example.com');
    $this->email->subject('Here is your info '.$name);
    $this->email->message('Hi '.$name.' Here is the info you requested.');
    $this->email->send();
}

Jika Anda mengatur parameter TRUE lampiran akan dihapus juga:

$this->email->clear(TRUE);

$this->email->send()
Email tersebut mengirimkan fungsi. Pengembalian boolean TRUE atau FALSE berdasarkan keberhasilan atau kegagalan, memungkinkan untuk digunakan kondisional:

if ( ! $this->email->send())
{
    // Generate error
}

$this->email->attach()
Memungkinkan Anda untuk mengirim lampiran. Masukan path file / nama dalam parameter pertama. Catatan: Gunakan path file, bukan URL. Untuk beberapa lampiran menggunakan fungsi beberapa kali. Sebagai contoh:

$this->email->attach('/path/to/photo1.jpg');
$this->email->attach('/path/to/photo2.jpg');
$this->email->attach('/path/to/photo3.jpg');

$this->email->send();

$this->email->print_debugger()
Mengembalikan string yang berisi pesan server apapun, header email, dan messsage email. Berguna untuk debugging.

Overriding Word Wrapping

Jika Anda memiliki kata membungkus diaktifkan (dianjurkan untuk mematuhi RFC 822) dan Anda memiliki link yang sangat panjang di email Anda itu bisa dibungkus juga, menyebabkan ia menjadi un-diklik oleh orang yang menerimanya. CodeIgniter memungkinkan Anda secara manual menimpa pembungkus kata dalam bagian dari pesan Anda seperti ini:

The text of your email that
gets wrapped normally.

{unwrap}http://example.com/a_long_link_that_should_not_be_wrapped.html{/unwrap}

More text that will be
wrapped normally.

Tempatkan item yang Anda tidak ingin kata-dibungkus antara: {} {unwrap / unwrap}

Sekian dulu tutorial dari saya, selamat mempraktekkannya sahabat belajar pintar semua.
jangan lupa komentarnya dan like atau send fb nya.

( SMS GATEWAY PHP MYSQL ) Tahap Demi Tahap Membangun SMS Gateway Dengan PHP MYSQL

( SMS GATEWAY PHP MYSQL ) Tahap Demi Tahap Membangun SMS Gateway Dengan PHP MYSQL
Halo sahabat setia Belajar Pintar PHP, sebelumnya saya minta maaf karena saya absen dari hadapan anda beberapa hari ini. Dari komentar dan jumlah visit terhadap postingan SMS Gateway Gammu semakin meningkat, jadi saya akan memberikan tutorial SMS Gateway dengan lengkap kepada anda semua, guna melengkapi kekurangan-kekurangan posting saya sebelumnya mengenai SMS Gateway. Oke tanpa panjang lebar, kita langsung saja ke TKP ...!!!

Disini kita akan membahas tuntas bagaimana cara membuat sebuah SMS gateway dengan Gammu dan cara menghubungkannya dengan web yang sudah anda buat.  Kebetulan setelah saya analisa web sms online.web.id menggunakan Gammu sebagai SMS Gatewaynya sehingga semua orangpun bisa membuatnya dengan hanya mengikuti petunjuk dari saya. Untuk bisa menghubungkan SMS Gateway yang sudah kita bangun dengan web yang sudah anda buat anda diharuskan mengerti konsep dasar jaringan dan routing dengan mikrotik Baik kita langsung mulai saja membahasnya.

A. MEMBANGUN SEBUAH SERVER SMS GATEWAY



What is Gammu ? ( Apa itu Gammu? ), Gammu merupakan sebuah aplikasi/daemon yang dikhususkan untuk membangun sebuah SMS Gateway yang menghubungkan antara operator seluler ke internet dan sebaliknya. Aplikasi ini bersifat open source dibawah lisensi GPL. Sebenarnya Gammu tidak hanya berfungsi sebagai SMS Gateway saja tetap bisa juga untuk melakukan voice call. Untuk mengetahui fitur lengkap dari Gammu silahkan buka websitenya di http://wammu.eu/gammu/. Aplikasi ini tersedia dalam versi Linux dan Windows. Untuk memudahkan manajemen SMS yang ada di INBOX Gammu mempunyai sebuah aplikasi web-based yang dibangun menggunakan PHP oleh anak bangsa dari ITB yang diberi nama  Kalkun. Aplikasi ini menyediakan fitur yang lumayan lengkap untuk memanajemen Gammu. Sebenarnya setelah kita sukses membangun Gammu, maka kita bisa membangun aplikasi SMS Gateway dengan bahasa program atau platform apapun, baik itu web based dengan PHP maupun ASP atau apapun, dan juga desktop dengan menggunakan Delphi, VB atau lainnya.


Saat ini Gammu sudah support HP/Modem GSM terbaru sehingga anda tidak perlu kawatir dengan masalah kompatibilitasnya. Yang akan saya bahas kali ini adalah Gammu versi windows karena Windows sudah banyak digunakan oleh banyak user dan juga lebih familiar. Dalam artikel ini pembahasan akan sampai dengan cara instalasi service dan menjalankannya.

Langkah Pertama (Download File)

Silakan mendownload Gammu nya terlebih dahulu di
http://www.mwiacek.com/zips/gsm/gammu/gammu_win32.zip


Langkah Kedua (Install Gammu)

Secara default setelah file setup di atas diinstal, file gammu terletak di direktori C:\GAMMU.

Langkah Ketiga (Setting Konfigurasi Gammu)

Setelah file Gammu diinstall, langkah berikutnya adalah setting konfigurasi. Setting ini diperlukan guna keperluan penyesuaian jenis HP dan nomor port yang akan digunakan. Bagaimana cara settingnya? Caranya adalah silakan edit file ‘GAMMURC‘ yang ada di dalam direktori ‘C:\gammu‘. Editlah file GAMMURC tersebut menggunakan Notepad atau sejenisnya kemudian anda rubah bagian berikut :

1.[gammu]
2.port =
3.connection =

parameter port itu nanti diisi dengan nomor port sesuai lokasi colokan HP Anda. Untuk mengetahui nomor port dimana Anda colokkan HP Anda di komputer, silakan masuk ke  Control PanelPhone and Modem OptionsModem. Nah… bila HP Anda sudah tercolok di PC dan drivernya sudah terinstal dengan baik maka pastinya pada bagian tersebut akan muncul nomor portnya.


Tips Buat Sahabat Belajar Pintar PHP :

Sebaiknya setiap kali HP Anda dicolokkan ke PC, gunakan lokasi port USB yang sama alias jangan pindah pindah colokan, karena setiap ganti colokan maka nomor portnya akan berubah-ubah. Akibatnya Anda musti ubah setting GAMMURC nya berkali-kali pula karena harus menyesuaikan nomor portnya.

Berikut ini contoh konfigurasi GAMMURC bila saya menggunakan modem Wavecom


M1206B yang terhubung ke port com5 USB.

1.[gammu]
2.port = com5:
3.connection = at115200

(Penting: jangan lupa tanda : di belakang port)

Bila Anda gunakan lebih dari satu HP yang tercolok ke PC, maka Anda bisa menambah atau mengubah konfigurasinya pada bagian :

01.[gammu1]
02..
03..
04.
05.[gammu2]
06..
07..
08.
09.dst..


Langkah Keempat (Uji Koneksi)


Langkah terakhir untuk proses setting GAMMU ini adalah melakukan uji koneksi antara Gammu dengan HP/modem Anda. Langkah ini dilakukan setelah proses setting konfigurasi dilakukan. Caranya adalah dengan masuk folder ‘C:\gammu‘ pada direktori Gammu Anda via DOS PROMPT. Lalu ketikkan perintah ini pada command promptnya.

1.gammu identify

Apabila setelah perintah tersebut dienter lalu muncul informasi mengenai HP Anda, maka koneksi antara Gammu dengan HP Anda sukses. Bila responnya tidak seperti yang diharapkan, maka cek kembali nomor portnya atau jenis connectionnya. Berikut ini contoh tampilan yang keluar apabila proses setting berhasil dilakukan :

SMS Gateway Gammu


Langkah Kelima (Membuat Database MySQL untuk Gammu)

Langkah ini bertujuan untuk menyiapkan database MySQL untuk menampung data-data SMS yang diperlukan Gammu untuk SMS Gateway. Sebenarnya tidak hanya MySQL yang bisa digunakan, namun bisa juga SQL Lite atau Posgre SQL. Namun… dalam artikel ini hanya untuk MySQL saja deh, karena saya tidak familiar dengan yang lainnya.

Caranya adalah buat database dengan nama ‘sms‘ atau yang lain (terserah) menggunakan phpMyAdmin Anda. Lalu buatlah tabel-tabel yang diperlukan oleh Gammu. Waduh.. tabelnya apa aja ya? Don’t worry karena Gammu sudah menyiapkan file dumpnya untuk create tabel. Letak file dumpnya ada di folder ‘C:\gammu\mysql-tabel.sql‘. Nah.. silakan gunakan file dump tersebut untuk membuat tabel-tabelnya menggunakan phpMyAdmin.

Pada Gammu sebenarnya SMS tidak hanya bisa disimpan dalam database, namun juga bisa sebagai file teks yang disimpan di PC Anda. Namun untuk keperluan SMS gateway sepertinya lebih enak menggunakan database sebagai storagenya.

Langkah Keenam (Setting Konfigurasi Untuk SMS Daemon)

Langkah ini dilakukan setelah setting database untuk Gammu. SMS daemon pada Gammu digunakan untuk proses pembacaan otomatis SMS yang diterima lalu disimpan ke database. SMS daemon juga diperlukan untuk keperluan pengiriman SMS. Untuk melakukan setting SMS daemon, bukalah file ‘SMSDRC‘ yang terletak di direktori ‘C:\gammu‘. Bukalah dengan Notepad atau sejenisnya. Bagian yang diubah adalah:

port = diisi nomor port sesuai yang ada di file GAMMURC
connection = diisi jenis connection sesuai yang ada di GAMMURC
service = mysql (diisi dengan ‘mysql’ karena kita akan menggunakan mysql sebagai storage
data SMSnya)
user = diisi user database koneksi ke mysql Anda
password = diisi password koneksi ke mysql Anda
pc = diisi nama host mysql (biasanya localhost)
database = sms (atau sesuai nama database yang tadi kita buat)


Contoh konfigurasi yang ditulis :

1.port = com5:
2.connection = at115200
3.service = mysql

4.user = root
5.password = passwordroot
6.pc = localhost
7.database = sms
Catatan: hilangkan tanda # di depan parameter-parameter di atas bila ada.


Langkah Ketujuh (Membuat Gammu Service)

Langkah ini bertujuan untuk membuat service Gammu di Windows. Dengan dibuatnya service di Windows ini kita bisa lebih mudah menjalankannya tanpa menggunakan perintah tertentu di command prompt. Untuk membuat Gammu service di Windows, ketikkan perintah ini di DOS PROMPT setelah Anda masuk ke folder ‘C:\gammu‘.

1.gammu-smsd -c smsdrc -i

Nah.. bila ada konfirmasi bahwa proses pembuatan service sukses, maka Anda akan melihatservice Gammu muncul pada daftar service yang berjalan di Windows. Service ini bisa dilihat melalui ‘CONTROL PANEL > Administrative Tools > Services’. Nah.. untuk menjalankan service Gammu ini tinggal klik START pada service Gammu tersebut.

Namun bila proses pembuatan service ini gagal, maka silakan cek kembali konfigurasi SMSDRC nya atau mungkin nama databasenya salah, atau bisa juga command yang dituliskan salah.




B. MENGHUBUNGKAN SMS GATEWAY DENGAN WEB ANDA



Langkah Pertama (Persiapan)

Untuk menghubungkan SMS Gateway dengan web anda ada 2 metode yang bisa dilakukan yaitu dengan metode direct connection (IP Publik) ataupun web service (SOAP). Kali ini yang akan kita bahas adalah metode direct connection yang membutuhkan persiapan sebagai berikut :
1. Koneksi internet stabil dan unlimited, bisa menggunakan speedy

2. IP Publik statik dari ISP (untuk hal ini IP publik harus masuk ke router supaya bisa diakses dari internet, untuk lebih jelasnya silahkan baca artikel Membuat server hosting sendiri dengan speedy dan mikrotik dan Setting Mikrotik PPPoE sebagai gateway speedy

3. Mikrotik Router (PC Router/RouterBoard)

Langkah Kedua (Membuat script PHP untuk mengirim SMS)

OK.. sekarang kita akan mencoba membuat script PHP sederhana untuk mengirim pesan SMS yang terintegrasi dengan Gammu ini.


Langkah pertama kita buat form untuk mengirim pesan SMS nya terlebih dahulu.

form_sms.php


1.<form method="post" action="send.php">
2.No. HP Tujuan : <input type="text" name="nohp" value="+62"><br>
3.Pesan : <textarea name="msg"></textarea><br>
4.<input type="submit" name="submit" value="Kirim SMS">
5.</form>

Langkah kedua, kita buat script php untuk mengirim pesannya. send.php
1.<?php
2.$noTujuan = $_POST['nohp'];
3.$message = $_POST['msg'];
4.
5.exec('c:\gammu\gammu-smsd-inject.exe -c c:\gammu\smsdrc EMS '.$noTujuan.' -text
"'.$message.'"');
6.
7.?>

Perintah exec() dalam PHP digunakan untuk menjalankan perintah command DOS dalam hal ini adalah perintah command inject nya Gammu.

Karena command inject Gammu pada script di atas menggunakan format EMS maka memungkinkan kita mengirim SMS dengan jumlah karakter lebih dari 160 buah. Oya… sebelum Anda menjalankan script di atas, pastikan bahwa service Gammu nya telah Anda jalankan, dan HP Anda tercolok ke PC Sekarang… bagaimana bila pengiriman SMS dari script di atas menggunakan query INSERT? Ini dia scriptnya.

send.php

01.<?php
02.mysql_connect("dbhost", "dbuser", "dbpass");
03.mysql_select_db("sms");
04.
05.$noTujuan = $_POST['nohp'];
06.$message = $_POST['msg'];
07.
08.$query = "INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID)
VALUES ('$noTujuan', '$message', 'Gammu')";
09.$hasil = mysql_query($query);

10.if ($hasil) echo "SMS berhasil dikirim";
11.else echo "SMS gagal dikirim";
12.
13.?>


Langkah Ketiga (Mengakses script PHP diatas via internet)

Setelah anda membaca dan mempraktekkan langkah kedua di tahap persiapan anda sudah bisa mengakses form pengiriman SMS anda dari internet, contoh  : bila script PHP diatas pada waktu anda mengaksesnya lewat localhost menggunakan URL  http://localhost/form_sms.php maka untuk mengaksesnya dari internet URL berubah menjadi http://IP_Publik_ISP/form_sms.php. Bila anda ingin URL menggunakan subdomain anda misal http://sms.domainanda.com/form_sms.php, anda tinggal menambahkan A Record di DNS Record hosting anda yang mengarah ke IP Publik dari ISP anda.

Demikianlah Tutorial SMS Gateway  yang saya sampaikan, semoga bermanfaat bagi yang membacanya. Jika ada pertanyaan tentang artikel ini silahkan tinggalkan komentar anda.

Membuat Visit Counter Sederhana dengan PHP MYSQL

Membuat Visit Counter Sederhana dengan PHP MYSQL
Halo Sahabat Belajar Pintar PHP sekalian ...!!! kali ini saya akan membagikan kepada anda sebuah script PHP untuk membuat visit counter sederhana seperti yang terdapat di bagian footer blog saya ini. Bagi anda yang udah merasa sudah bisa membuatnya, ada baiknya anda berhenti membaca sekarang juga, karna dari judulnya saja ini hanya membuat yang sederhana saja, tapi jika anda sedikit penasaran dengan ini, tidak ada salahnya anda lanjut membacanya, karena saya yakin anda semua adalah orang yang rendah hati. Cara kerja counter ini adalah sebagai berikut : halaman utama dibuka->input ke database->Output berupa jumlah records dari table yang dijadikan counter. OK, langsung ke TKP ...!!!

Pertama, buatlah table dengan nama counter pada database MySQL kamu dengan field sebagai berikut:

a. ip
b. user_agent
c. tanggal

Sekarang, tambahkan script berikut pada halaman utama website kamu. Ingat, tempatkan script ini di bagian paling atas sebelum tag.



$ip=getenv(remote_addr);
$date=getdate(date("U"));
$day=$date[mday];
$month=$date[month];$year=$date[year];


if (!isset($_COOKIE["visitor"]))
{
setcookie("visitor", "$ip", time() +3600);
mysql_connect("localhost", "user",
"password"); //sesuaikan host, user, dan password-nya !
mysql_select_db("nama_db") or die(mysql_error

()); //sesuaikan nama database-nya
mysql_query("INSERT INTO counter(ip, user_agent,
tanggal) VALUES('$ip', '$_SERVER[HTTP_USER_AGENT]',
'$day/$month/$year')");
}
?>




Pada code di atas, saat pertama jika diakses halaman website kita akan membuat cookies dengan nama visitor yang isinya IP address dari visitor kita. Kalo cookies belom diset, maka record table Counter akan ditambah satu.
Untuk mendapatkan jumlah pengunjung, kita tinggal menghitung berapa jumlah records dari table Counter, gunakan code berikut:

$qhit=mysql_query("SELECT * FROM counter");
$hit=mysql_num_rows($qhit);
echo "
Kamu adalah pengunjung ke: $hit
";
?>




Sekarang, kamu tinggal meletakkan code di atas untuk menampilkan berapa jumlah pengunjung website kamu.
Semoga bermanfaat dan tolong dikembangkan masing-masing.

Cara Membuat Guest Book sederhana dengan Flex PHP

Cara Membuat Guest Book sederhana dengan Flex PHP
Para sahabat setia Belajar Pintar PHP tentunya rekan rekan sudah mengetahui apa itu Guest Book bukan ?. Biasanya Guest book pada halaman web berguna untuk menyimpan komentar dari para pengunjung web. Dalam bahasa gaulnya sih disebut buku tamu, Dalam Guest Book pengunjung dapat menuliskan nama kemudian komentarnya selanjutnya aplikasi guest book ini akan menyimpan data tersebut ke server dan menampilkannya di halaman web. Jadi secara garis besar guest book ini mempunyai 2 fungsi utama :
Dengan project pembuatan guest book ini saya harapkan kita semua dapat mengerti bagaimana menghubungkan antara MYSQL, PHP dan Flex.
  • MySQL berfungsi untuk penyimpanan database, tentunya rekan rekan bisa menggunakan teknologi yang lain seperti Sql server,Oracle, dlsb. Dalam contoh ini kita coba pakai MySQL
  • PHP berfungsi sebagai back end dan bertanggung jawab untuk :
    • Melakukan koneksi ke database
    • Mengirimkan instruksi sql statement ke database (insert dan select) untuk menambah mengambil data
    • Memformat hasil query (data) ke bentuk XML yang nantinya akan dibaca oleh flex. Sebagai informasi dalam contoh ini masih menggunakan XML , sebenarnya ada metode yang lebih cepat yaitu dengan remoting server menggunakan AMFPHP, cuma saat ini masih saya pelajari, mungkin di lain kesempatan akan saya bahas lagi dengan menggunakan AMFPHP.
  • Flex berfungsi sebagai front end aplikasi dalam hal ini yang tampak oleh user di browser nya.
Secara garis besar pembuatan aplikasi guest book dibagi atas 4 tahap yaitu :
  1. Persiapan yang meliputi :
  • Instalasi flex builder 3, bisa download versi trialnya di http://www.adobe.com, kemudian untuk lisensi versi educational (free) dapat mengunjungi http://www.flex-registration.com, lisensi ini diberikan untuk instansi pendidikan. Kita cukup memasukkan data pribadi kemudian image hasil scan kartu indentitas yang menerangkan bahwa kita bekerja di instansi pendidikan (bisa kartu NIM, kartu pegawai atau surat dari sekolah), seminggu kemudian kode lisensi akan dikirim lewat email.
  • Instalasi XAMPP , bisa didownload di http://www.xampp.com
2. Pembuatan Database
3. Pembuatan script PHP
4. Pembuatan interface dengan Flex

Pembuatan Database

Kita masuk ke tahap kedua yaitu pembuatan database. Database yang akan kita buat hanya terdiri dari satu table saja yaitu kita namakan saja komentar yang terdiri dari 4 field yaitu id, nama,tgl dan komentar. Untuk melakukan hal ini :
  • Buka web browser, lalu ketikkan alamat http://localhost atau http://127.0.0.1
  • Masuk ke menu PhpMyadmin
  • Buat database baru dengan nama maslo (namanya terserah rekan rekan)
  • Kemudian buat tabel baru dengan nama kometar dengan struktur sebagai berikut :
    • ID : int , auto increment, primary key
    • Nama : varchar (255)
    • Komen : longtext
    • Tgl : varchar(99)
Jika ingin membuat dengan sql statement, berikut statement nya :

CREATE TABLE komentar (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nama` VARCHAR( 255 ) NOT NULL ,
`komen` LONGTEXT NOT NULL , `tgl` VARCHAR( 99 ) NOT NULL
) ENGINE = MYISAM ;
  • Untuk keperluan pengetesan, isi tabel komentar dengan beberapa record
  • Berikut contoh statement untuk insert record. Kita bisa melakukannya dari menu insert pada PhpMyadmin.
INSERT INTO komentar (ID, nama,komen,tgl)
VALUES (
NULL , 'Ivan', 'Hai Sahabat Belajar Pintar PHP ',’15 November 2012’
) , (
NULL , 'Nita', 'Belajar php adalah kunci untuk membuat website dinamis', ’15 November 2012’
);


Pembuatan Script PHP

Tahap selanjutnya adalah membuat script php untuk koneksi dan manipulasi database. Ada 3 script php yang akan kita buat yaitu :
  • Koneksi.php fungsinya adalah untuk koneksi dengan database. Scriptnya sangat sederhana yaitu sbb :

  • Select_komentar.php fungsinya untuk mengambil isi dari tabel komentar dan memformatnya dalam bentuk XML. Scriptnya sebagai berikut :

    \r\n";

    echo "\t \r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo "\t \r\n";

    while ($dataku=mysql_fetch_array($result))
    {
    echo "\t \r\n";
    echo"\t\t".$dataku[id]."\r\n";
    echo"\t\t".$dataku[nama]."\r\n";
    echo"\t\t\r\n";
    echo"\t\t\r\n";
    echo "\t \r\n";
    }

    echo "\t \r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo "\t \r\n";

    echo "\r\n";

    ?>
  • Penjelasan script diatas :

    include 'koneksi.php';
    perintah ini berfungsi untuk memanggil script koneksi.php untuk melakukan koneksi ke database, dalam hal ini saya berasumsi bahwa sahabat Belajar Pintar PHP sekalian sudah mengerti cara membut Koneksi PHP dengan MYSQL.

    $result = mysql_query(stripslashes("select id,nama,komen,tgl from komentar order by id desc "));
    perintah ini mengirimkan sql statement yaitu perintah untuk mengambil isi tabel. Saya tidak akan membahas lebih mendalam mengenai sql statemen karena fokus kita bukan kesitu. Namun bagi rekan rekan yang ingin mempelajari sql statemen bisa cari tutorialnya di internet.

    echo "\r\n";
    perintah ini berfungsi untuk mencetak kalimat sebagai header dari struktur XML kita. Tentu saja kata “recordset” dapat diganti dengan kata yang lain terserah rekan rekan.

    echo "\t \r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo"\t\teof\r\n";
    echo "\t \r\n";

    baris ini berfungsi untuk mencetak data kosong atau dummy data ( lho koq... mungkin membingungkan). Berdasarkan pengalaman saya, jika ternyata tabel yang kita select tidak ada isinya (kosong) maka xml yang kita hasilkan juga akan kosong, nah hal ini membuat aplikasi flex kita akan error, nah untuk men siasati nya kita taruh data kosong pada permulaan struktur xml kita (bingung kan ...???). Ini hanya akal akalan saya saja, mungkin ada cara lain yang lebih cerdik dari ini. Jika rekan rekan ada yang punya cara lain , saya akan sangat senang jika diberitahu.

    while ($dataku=mysql_fetch_array($result))
    { echo "\t \r\n";
    echo"\t\t".$dataku[id]."\r\n";
    echo"\t\t".$dataku[nama]."\r\n";
    echo"\t\t\r\n";
    echo"\t\t\r\n";
    echo "\t \r\n"; }

    baris ini berfungsi untuk melakukan perulangan record by record dan menuliskan ke dalam struktur XML. Untuk mengambil isi record menggunakan perintah .$dataku[id]. [id] adalah nama field. Yang aneh disini adalah statement “



    1
    shelo




    eof
    eof
    eof
    eof
    eof
  • Nah jika sudah tampil seperti diatas , selamat untuk anda karena telah satu langkah lebih dekat dalam mengenal flex yaitu berkenalan dengan XML.
  • Script yang ketiga adalah insert_komentar.php isinya sebagai berikut :

    include 'koneksi.php';
    $result = mysql_query(stripslashes("insert into komentar(nama,tgl,komen) values('".$_POST ["nama"]."','".$_POST["tgl"]."','".$_POST["komen"]."')"));

    ?>


    penjelasannya :

    include 'koneksi.php'
    perintah ini berfungsi untuk memanggil script koneksi.php untuk melakukan koneksi ke database
    $result = mysql_query(stripslashes("insert into komentar(nama,tgl,komen) values('".$_POST ["nama"]."','".$_POST["tgl"]."','".$_POST["komen"]."')"));

    perintah ini untuk mengirimkan sql statement insert atau menambahkan record baru ke dalam table. Yang perlu diperhatikan disini perintah $_POST ["nama"] . perintah tersebut untuk mengambil parameter yang dikirim oleh aplikasi (dalam hal ini flex) yang perlu diingat adalah nama parameter nya harus sama persis (case sensitif) antara yang ada di script php dengan yang ada di flex (nanti kita akan bahas).


Tahapan terakhir dalam pembuatan guest book adalah mendesain front end dengan Flex. Ada 2 file mxml yang harus kita buat :
  • Simple_gbook.mxml : ini adalah file utama aplikasi kita
  • Comment_renderer.mxml : ini adalah component yang digunakan sebagai renderer pada control tile list yang berfungsi untuk menampilkan data.
Sebelum kita membedah isi dari mxml kita, saya ingin menerangkan cara men-setup project pada flex builder 3, mungkin rekan rekan sudah mengetahuinya, tp tak ada salahnya saya uraikan kembali kan ??. langkahnya sebagai berikut :
  • Pilih File | new | Flex project
  • Isi project name , misalnya simple_gbook.
  • Secara default flex builder akan menyimpan project yang kita buat di folder my documents\Fex builder 3. namun jika kita mau menyimpan di tempat lain , un check option use default location, kemudian browse folder yang kita kehendaki.
  • Klik next
  • Selanjutnya kita diminta men set output folder. Secara default output folder akan dibuat di dalam folder project kita. Karena project ini menggunakan php maka output folder harus di set ke dalam folder program files/xampp/htdocs.
  • Klik browse, pilih folder c:\program filed\xampp\htdocs. Buatlah folder baru dengan cara klik tombol make new folder. Namakan folder baru tersebut misalnya gbook.
  • Untuk menjalankan project kita setelah dibuild, harus dari browser, kemudian ketik alamat web server kita yaitu http://127.0.0.1/gbook/simple_gbook.html, jangan jalankan program dari menu run project karena saya jamin pasti akan error.

Tutorial PHP : Cara Membuat Upload File pdf Tanpa Database

Tutorial PHP : Cara Membuat Upload File pdf Tanpa Database
Halo sahabat Belajar Pintar PHP,,,!!! senang berbagi ilmu dengan anda semua, kali ini saya akan membagikan Tutorial kali ini akan membahas cara membuat upload file PDF tanpa data base, di website.

Untuk membuat tutorial upload file PDF ini Hanya dengan 2 langkah:
 

I. Kita Buat sebuah Folder di root website kita dengan hak akses 777 dan nama foldernya : filepdf
II. Kita buat script php denga nama formpdf.php

 


Isi dari formpdf.php adalah script dibawah ini :




Setelah kedua file tersebut lengkap, maka segera upload file anda tersebut dalam 1 folder,
Artinya sekarang kita mempunya 2 file yg harus diupload ke webhosting.

  1. folderpdf folder kosong dengan hak akses 777
  2. formphp.pdf file PHP untuk proses upload PDF


Sekian tutorial dari saya, semoga bermanfaat...!!!

Tutorial PHP : Cara Penulisan Coding PHP yang baik

Tutorial PHP : Cara Penulisan Coding PHP yang baik
Oke, kita lanjut, agar ketika melakukan coding dengan PHP dapat terbaca dengan mudah, dan algoritmanya terbaca dengan jelas, maka dalam menyusun coding harus di atur sedemikian rupa.
Contoh penulisan coding yang buruk seperti adalah seperti list code di bawah ini. Ini cuma, contoh saja, mungkin anda belum mengerti arti dari baris-baris code tersebut, saya Cuma memberikan contoh saja.

<?php
// file latihan_213.php
if ($_POST["nama"] == "Anggie")
{
echo "<p>Hei $_POST['nama']</p>;
}
else
{
echo "<h2>Anda bukan Anggie!</h2>"
}
// masih dengan contoh yang sama,
// namun dengan cara penulisan yang berbeda
if ($_POST["nama"] == "Anggie")
{
echo "<p>";
echo "Hei ";
echo $_POST['nama'];
echo "</p>";
}
else
{
echo "<h2>";
echo "Anda bukan Anggie!";
echo "</h2>";
}
?>


Script ini sulit untuk dibaca, karena jika ada programmer lain atau mungkin anda yang bertahun-tahun liburan kemudian ingin membaca kode-kode yang anda buat tersebut tentunya akan mengalami kesulitan membedakan fungsi-fungsi dari baris kodenya. Bayangkan jika seorang programmer mengetik kode-kode ratusan bahkan ribuan kode dengan cara penulisan seperti itu ??? Mungkin programer yang membacanya akan mual-mual. 8-}.

Untuk saat ini karena kita baru belajar bahasa pemrogaman php, maka belum terasa kesusahannya jika tidak menulis kode dengan cara yang baik. Saya mengibaratkan penulisan kode yang baik itu seperti seorang penulis mengarang sebuah cerita. Seorang penulis yang baik itu dapat mempermudah si pembaca dalam membaca tulisan karangan si penulis, mulai dari tanda baca, tahu letak berhenti suatu kalimat, paragraf, benar-benar memudahkan, beda dengan penulis yang salah urat, saya mengatakannya salah urat karena, penulis ini membuat cerita tapi tidak mempedulikan tanda baca, ini artinya penyiksaan dini bagi para pembacanya.

Ya, contoh coding yang baik adalah seperti ini :

<?php
if ($_POST["nama"] == "Anggie")
{
echo "<p>Hei $_POST['nama']</p>;
}
else
{
echo "<h2>Anda bukan Anggie!</h2>"
}
// masih dengan contoh yang sama,
// namun dengan cara penulisan yang berbeda
if ($_POST["nama"] == "Anggie")
{
echo "<p>";
echo "Hei ";
echo $_POST['nama'];
echo "</p>";
}
else
{
echo "<h2>";
echo "Anda bukan Anggie!";
echo "</h2>";
}
?>


Sekian dan terimakasih, Salam sukses.



Tutorial PHP : Cara Cepat Memulai PHP dengan Xampp

Tutorial PHP : Cara Cepat Memulai PHP dengan Xampp
Selamat Pagi, Siang atau malam bagi pengunjung setia blog ini, Mungkin ini sudah pernah saya bahas pada postingan sebelumnya, tapi karena banyak pertanyaan dari pengunjung yang menanyakan cara memulai php dengan xampp sangat banyak, jadi tidak ada salahnya saya bahas lagi.

Oke sebelum bekerja dengan php, pada postingan sebelumnya kita sudah berhasil menginstall xampp, namun kita belum dapat menjalankan skrip phpnya dan juga belum dapat menikmati databasemysqlnya. Untuk dapat menjalankan keduanya kita cukup, cari xampp-control paneldi start menu, dan kita klik tombol start pada baris apache dan mysql.

ini tandanya kita sudah dapat bekerja dengan mysql maupun php. Kita akan coba masuk kedalam pembahasan, bekerja dengan PHP. Sebelumnya kita telah praktikan bagaimana menginstall xampp agar PHP dan MySQL dapat dijalankan di mesin lokal. Sekarang saatnya kita akan coba mengetahui struktur dari syntax PHP. Saya asumsikan anda sudah menguasai HTML. Ya, PHP sama dengan HTML, untuk dapat menjalankan scriptnya maka anda harus
mengetikkan syntax-syntaxnya ke dalam satu buah file dengan menggunakan text-editor
seperti notepad, atau text editor kesukaan anda, kemudian meletakkan file tersebut pada suatu
direktori khusus yakni defaultnya adalah di :c:\xampp\htdocs\

Sebagai contoh, Buka Notepad anda atau dreamweaver atau apapun jenis text-editor yang anda pakai, kemudian ketikkan script dibawah ini.
<?php
echo “Selamat datang di website pertama saya”;
?>

Jika sudah, simpan dengan nama coba.php pada direktori xampp anda, contoh C:\xampp\htdocs\
Ingat , jangan lupa setiap penamaan file php harus diakhiri dengan .php

Sedikit penjelasan tentang kode di atas :


Tag <?php digunakan untuk memulai php dan Tag ?> digunakan untuk menutup php, sedangkan kode phpnya harus berada diantara tag pembuka dan tag penutup.

Sedangkan echo adalah perintah php yang berfungsi untuk mencetak atau menampilkan.
Dan yang paling penting jangan lupa ditutup dengan titik koma.

Kemudian untuk dapat menjalankan skrip tersebut gunakanlah browser internet
seperti mozilla firefox. Dengan mengisi alamat di address bar seperti ini misalnya :
http://localhost/direktori/coba.php

Selamat Mencoba ... !