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

AJAX PHP ( Membuat Kalkulator Sederhana dengan Ajax Jquery PHP )

AJAX PHP ( Membuat Kalkulator Sederhana dengan Ajax Jquery PHP )
Halo sahabat Belajar Pintar PHP, Setelah sebelumnya saya membagikan kepada anda semua sebuah source code mengenai cara membuat kalkulator online dengan php , kali ini saya juga akan membagikan kepada anda sebuah tutorial sekaligus source code Ajax mengenai cara membuat kalkulator dengan menggunakan ajax jquery serta php. Tapi bagi anda yang belum mengerti apa itu ajax, jangan berkecil hati karena anda dapat mengetahuinya melalui postingan saya sebelumnya mengenai Dasar Pemahaman Ajax yang harus diketahui oleh pemula . Oke mungkin sebagian dari anda tidak sabar lagi ingin mengetahuinya, oleh karena itu mari kita langsung bahas satu-persatu dibawah ini.
Dalam pembuatan kalkulator dengan ajax ini kita juga menggunakan fungsi sebuah form yang berguna untuk men-submit hasil dari perhitungan kita agar diproses oleh kode php yang kita buat. Buat anda yang belum mengerti cara membuat submit form menggunakan ajax jquery dan php , anda bisa baca disini , dan bagi anda yang sudah mengetahuinya, mari kita lanjut ketopik pembahasan kita yang pertama.

1. Buat sebuah halaman html dengan nama kalkulator.html , lalu ketikkan atau copy-paste saja seluruh script dibawah ini kedalamnya.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Kalkulator sederhana dengan Ajax</title>
<script type="text/javascript" src="kalkulator.js"></script>
</head>
<body>
<h1>Kalkulator Sederhana dengan AJAX PHP</h1>
<form name="form1">

<!-- input bilangan pertama -->
<input type="text" id="bil1" />
<!-- pilihan jenis operasi -->
<select id="operasi">
<option value="penjumlahan">dijumlahkan dengan</option>
<option value="pengurangan">dikurangkan dengan</option>
<option value="perkalian">dikalikan dengan</option>
<option value="pembagian">dibagi dengan</option>
</select>
<!-- input bilangan kedua -->
<input type="text" id="bil2" /><br />
<!-- tombol hitung -->
<input type="button" value="Hitung" onclick="hitung()" />
</form>
<!-- bagian untuk menampilkan output -->
<p><div id="output" /></p>
</body>
</html>

Halaman diatas berfungsi sebagai halaman utama sekaligus halaman tempat penginputan angka yang akan diproses.

2. Buat halaman php dengan nama kalkulator.php dan kemudian ketikkan atau copy-pastekan seluruh script php dibawah ini kedalamnya

<?php
header('Content-Type: text/xml');
$bil1 = $_GET['bil1'];
$bil2 = $_GET['bil2'];
$op = $_GET['op'];
echo '<output>';
if ($op == "penjumlahan") $hasil = $bil1 + $bil2;
else if ($op == "pengurangan") $hasil = $bil1 - $bil2;
else if ($op == "perkalian") $hasil = $bil1 * $bil2;
else if ($op == "pembagian")
{
if ($bil2 == 0) $hasil = "(ERROR) Divide by zero";
else $hasil = $bil1 / $bil2;
}
echo "Hasil perhitungannya adalah : ". $hasil;
echo '</output>';
?>


Halaman php ini berfungsi untuk halaman proses inti dari apa yang kita input pada halaman kalkulator.html.

3. Selanjutnya buat sebuah halaman Javascript dengan nama kalkulator.js, lalu copy-pastekan saja seluruh script dibawah ini kedalamnya


var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}

if (!xmlHttp) alert("Obyek XMLHttpRequest gagal dibuat");
else
return xmlHttp;
}
function hitung()
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
// mengambil data input dari elemen bernama bil1 dan dikonversi
// ke float / riil supaya dapat dioperasikan secara aritmatika
bil1 =
parseFloat(encodeURIComponent(document.getElementById("bil1").value));
// mengambil data input dari elemen bernama bil2 dan dikonversi
// ke float / riil supaya dapat dioperasikan secara aritmatika
bil2 =
parseFloat(encodeURIComponent(document.getElementById("bil2").value));
// mengambil data input dari elemen bernama operasi
operasi =
encodeURIComponent(document.getElementById("operasi").value);
// proses perhitungan operasi dilakukan di script kalkulator.php
xmlHttp.open("GET", "kalkulator.php?bil1=" + bil1 + "&bil2=" + bil2 +
"&op=" + operasi, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
else
setTimeout('hitung()', 1000);
}
function handleServerResponse()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
hasil = xmlDocumentElement.firstChild.data;
document.getElementById("output").innerHTML = hasil;
// setTimeout('process()', 1000);
}

else
{
alert("Ada masalah dalam koneksi ke server: " +
xmlHttp.statusText);
}
}
}
Nah, halaman ini merupakan halaman yang berfungsi sebagai perantaran antara halaman input "kalkulator.html" dengan halaman proses "kalkulator.php" , jika anda sudah membaca postingan saya mengenai dasar pemahaman ajax bagi pemula tadi, maka diharapkan anda sudah mengerti dengan yang saya maksud.

Untuk menjalankan program tersebut, bagi yang belum tahu , anda dapat mengetikkan pada address bar browser anda masing-masing "http://localhost/calculator/kalkulator.htm" tapi jangan sampai lupa mengaktifkan "Apache" bagi anda yang menggunakan Xampp.
















Atau bagi anda yang ingin mendownload langsung source code nya secara complete, anda bisa mendownloadnya pada link download dibawah ini.

Download disini

Terimaksih buat para sahabat setia blog belajar pintar php, jangan lupa share dan like nya sebagai upah capek saya mengetik ilmu yang bermanfaat ini kepada anda semua, selamat berkreasi buat calon programer dunia, Salam hangat dari admin Belajar Pintar PHP.

(Tutorial PHP) Membuat Berita Dinding Auto Refresh Seperti Twitter dengan jQuery dan PHP

(Tutorial PHP) Membuat Berita Dinding Auto Refresh Seperti Twitter dengan jQuery dan PHP
Halo sahabat Belajar Pintar PHP, kali ini saya akan memberikan source code php yang tentunya bisa saya jamin anda akan sangat menyukainya. Pada kasus ini kita akan melibatkan bantuan dari Ajax Jquery. Penasaran ??? Oke langsung saja.
Anda Tau kan Twitter ?? kalau kita masuk ke halaman depan twitter.com, maka akan kita lihat semacam berita dinding yang menampilkan status atau berita terbaru dari para twitter. Berita terbaru tersebut ditampilkan secara scrolling, kemudian menngunakan efek fade in. Pada artikel kali ini kita akan belajar membuat seperti itu, dimana pada program kita kali ini, kita akan menampilkan lima berita terbaru secara scolling dan fade in (dari pudar mejadi jelas). Kemudian program kita secara periodik akan mengecek ke database, jika ada berita terbaru, maka akan langsung kita update di berita dinding.

Wall Twitter

Sekarang mari kita lihat algoritma dan kode dari program ini.

Algoritma :


  1. Membuat database user dan berita
  2. Mengambil 5 berita terbaru dari database
  3. Memasukkan 5 berita ke dalam suatu variabel array, supaya gampang melakukan proses scrolling
  4. Melakukan scrolling 5 berita terbaru tersebut
  5. Mengecek berita terbaru setiap 4 detik, jika ada yang terbaru, tambahkan ke dalam variabel array untuk scrolling tersebut.
Berikut Kode Lengkapnya
Berikut adalah struktur tabel_user dan tabel_berita
CREATE TABLE `tabel_user` (
  `nomor` int(5) NOT NULL auto_increment,
  `userid` varchar(30) NOT NULL,
  `password` varchar(30) NOT NULL,
  `nama` varchar(30) NOT NULL,
  `email` varchar(30) NOT NULL,
  `photo` varchar(50) NOT NULL,
  PRIMARY KEY  (`nomor`)
);
CREATE TABLE `tabel_berita` (
  `nomor` int(5) NOT NULL auto_increment,
  `user_nomor` int(5) NOT NULL,
  `waktu` datetime NOT NULL,
  `berita` tinytext NOT NULL,
  PRIMARY KEY  (`nomor`)
);

1. Pada halaman index.php, Copy-kan kode php di bawah ini :

<html>
<head>
<title>Berita dinding seperti twitter</title>
<style>
body{background-color:#93C9FF;font-family:verdana;font-size:10pt}
#papan{width:600;height:300;border:#efefef 1px solid;
background-color:white;overflow:hidden}
.p{background-color:white;height:70;text-align:left;
border-bottom:#cdcdcd 1px solid;padding:5}
.x{background-color:white;height:70;text-align:left;
border-bottom:#cdcdcd 1px solid;display:none;padding:5}
a{color:#306DA3;text-decoration:none}
</style>
<script type="text/javascript" src="jquery-1.4.3.min.js"></script>
<script>
var i = 5;
var jumlah;
var brt = new Array();
var rotasi = 5;
var nomorakhir;
var posisiar;
$(document).ready(function(){
    jumlah = $("#jumlahberita").html();
    jumlah = parseInt(jumlah);
    nomorakhir = $("#nomorakhir").html();
    for(x=1;x<=jumlah;x++){
        brt[x] = $("#drz"+x).html(); //mengambil berita ,menjadi array brt[]
    }
    cek();
    putar();
});
function cek(){
    $.ajax({
        url: "cekdata.php",
        data: "akhir="+nomorakhir,
        cache: false,
        success: function(msg){
            if(msg!=""){
                data = msg.split("||");
                nomorakhir = data[0];
                brt.push(data[1]); //tambahkan berita baru ke array brt[] di posisi akhir
                jumlah++;
                rotasi = jumlah;
            }
        }
    });
    var waktucek = setTimeout("cek()",4000);
}
function putar(){
    if(jumlah>4){                   //kita putar atau scroll jika jumlah berita lebih dari 4
        $("#papan").prepend("<div id=drz"+i+" class=x><span id=s"+i+">"+brt[rotasi]+"<br></span></div>");
        $("#s"+i).hide();
        $("#drz"+i).slideDown(400); //fungsi untuk melakuan scrolldown
        $("#s"+i).fadeIn(3000);     //fungdi untuk menampilkan berita secara fade in
        rotasi--;
        i++;
        if(rotasi<=(jumlah - 5)){
            rotasi = jumlah;
        }
    }
    var waktuputar = setTimeout("putar()",4000);
}
</script>
</head>
<body>
<center>
<br>
<div id=papan>
<?php
include "koneksi.php";
$i = 1;
//mengambil 5 berita terbaru dari database
$berita = mysql_query("SELECT * FROM tabel_berita,tabel_user
WHERE tabel_user.nomor=tabel_berita.user_nomor
ORDER by tabel_berita.nomor DESC LIMIT 5");
while($b = mysql_fetch_array($berita)){
    echo "<div class=p id=drz$i>";
    echo "<img src='".$b['photo']."' align=left><b><a href=#>".$b['nama']."</a></b> ";
    echo "<font size=1>".$b['waktu']."</font><br>".$b['berita']."<br>";
    echo "</div>\n";
    $i++;
}
//mengambil nomor terakhir, yang nanti berguna untuk pengecekan
$akhir = mysql_query("SELECT nomor FROM tabel_berita ORDER BY nomor DESC LIMIT 1");
$a = mysql_fetch_array($akhir);
$akhirnya = $a['nomor'];
?>
</div>
<?php
$j = $i - 1;
echo "<span id=jumlahberita style='display:none'>$j</span>";
echo "<span id=nomorakhir style='display:none'>$akhirnya</span>";
?>
<p>
<script>
function buka(id,no){
    window.open("formberita.php?userid="+id+"&no="+no,"","width=500,height=400,toolbar=0");
}
</script>
Tes kirim pesan dari :<p>
<ul>
<li><a href="javascript:buka('alex',1)">Alex</a>
<li><a href="javascript:buka('budi',2)">Budi</a>
<li><a href="javascript:buka('Mitha',3)">Mitha</a>
<li><a href="javascript:buka('bagas',4)">Bagas</a>
<li><a href="javascript:buka('Luthor',5)">Luthor</a>
</ul>
</body>
</html>

2. Pada Halaman cekdata.php, untuk mengecek berita terbaru di database copy-kan code dibawah ini kedalam halaman cekdata.php :

<?php
include "koneksi.php";
$a = $_GET['akhir'];
$berita = mysql_query("SELECT * FROM tabel_berita,tabel_user
WHERE tabel_user.nomor=tabel_berita.user_nomor
AND tabel_berita.nomor>$a");
while($b = mysql_fetch_array($berita)){
    echo $b[0]."||";
    echo "<img src='".$b['photo']."' align=left><b><a href=#>".$b['nama']."</a></b> ";
    echo "<font size=1>".$b['waktu']."</font><br>".$b['berita']."<br>\n";
}
?>

Sekian dari saya dan selamat mencoba.

Download Source Code Lengkapnya pada link dibawah ini :

Download

Source Code PHP : Membuat Calculator Online Dengan PHP

Source Code PHP : Membuat Calculator Online Dengan PHP
Halo sahabat Belajar Pintar PHP semua, sudah agak lama ya saya tidak menyapa anda , tapi tenang aja sahabat sekalian bahwa setiap saya menyapa anda semua berarti saya ingin membagikan sesuatu yang bermanfaat buat anda semua, Amin ...!!.

Kali ini saya ingin memberikan source code php yang tak kalah menarikknya untuk dipelajari yaitu Membuat Kalkulator Online dengan PHP. Tentu anda semua sudah kenalkan dengan apa yang dinamakan kalkulator ? kalau belum sih segera tobat aja dah ,, hehehe.

Seperti yang kita ketahui bahwa PHP memiliki banyak fungsi matematika yang dapat digunakan untuk menghitung, dan melalui postingan saya ini saya akan berbagi cara membuat kalkulator online dengan PHP. oke langsung saja ke TKP .

1. Pertama Buat Sebuah halaman dengan nama "Index.html" lalu ketikkan perintah dibawah ini :



<html>
<head>
<title>Kalkulator online created by alfan munandar</title>
</head>
<body>
<form name="form1" method="post" action="hitung.php">
<p>Operator matematika </p>
<p>
<input name="angka" type="text" id="angka">
<select name="operator" id="operator">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input name="angka2" type="text" id="angka2">
<input type="submit" name="Submit" value="Hitung">
</p>
</form>
<form name="form2" method="post" action="hitung2.php">
<p>Konstanta matematika </p>
<p>
<input name="angka" type="text" id="angka">
<select name="operator" id="operator">
<option>abs</option>
<option>floor</option>
<option>round</option>
<option>decbin</option>
<option>bindec</option>
<option>decoct</option>
<option>octdec</option>
<option>dechex</option>
<option>hexdec</option>
<option>sin</option>
<option>cos</option>
<option>tan</option>
<option>log</option>
<option>sqrt</option>
</select>
<input type="submit" name="Submit" value="Hitung">
</p>
<p>Keterangan :</p>
<table width="100%" border="0">
<tr>
<td>+</td>
<td>=</td>
<td>Tambah.</td>
</tr>
<tr>
<td>-</td>
<td>=</td>
<td>Kurang.</td>
</tr>
<tr>
<td>*</td>
<td>=</td>
<td>Kali.</td>
</tr>
<tr>
<td>/</td>
<td>=</td>
<td>Bagi.</td>
</tr>
<tr>
<td width="4%">abs</td>
<td width="2%">=</td>
<td width="94%">Mencari nilai absolut .</td>
</tr>
<tr>
<td>floor</td>
<td>=</td>
<td>Pembulatan nilai. </td>
</tr>
<tr>
<td>round</td>
<td>=</td>
<td>Membulatkan angka di belakang koma. </td>
</tr>
<tr>
<td>decbin</td>
<td>=</td>
<td>Mengkonversi menjadi bilangan biner. </td>
</tr>
<tr>
<td>bindec</td>
<td>=</td>
<td>Mengkonversi menjadi bilangan desimal. (kebalikan dari decbin) </td>
</tr>
<tr>
<td>decoct</td>
<td>=</td>
<td>Mengkonversi menjadi bilangan oktal. </td>
</tr>
<tr>
<td>octdec</td>
<td>=</td>
<td>Mengkonversi menjadi bilangan desimal (kebalikan dari decoct) </td>
</tr>
<tr>
<td>dechex</td>
<td>=</td>
<td>Mengkonversi menjadi bilangan Hexadesimal. </td>
</tr>
<tr>
<td>hexdec</td>
<td>=</td>
<td>Mengkonversi menjadi bilangan desimal (kebalikan dari dechex). </td>
</tr>
<tr>
<td>sin</td>
<td>=</td>
<td>sine</td>
</tr>
<tr>
<td>cos</td>
<td>=</td>
<td>cosine</td>
</tr>
<tr>
<td>tan</td>
<td>=</td>
<td>tangent</td>
</tr>
<tr>
<td>log</td>
<td>=</td>
<td>log</td>
</tr>
<tr>
<td>sqrt</td>
<td>=</td>
<td>akar</td>
</tr>
</table>
</form>
<p>&nbsp;</p>
</body>
</html>


2. Lalu untuk file yang kedua buat dengan nama “hitung.php” dan ketikkan script berikut :


<?php
$angka = $_POST['angka'];
$angka2 = $_POST['angka2'];
$operator = $_POST['operator'];
if ($operator == '+')
{
$hasil = $angka+$angka2;
}
if ($operator == '-')
{
$hasil = $angka-$angka2;
}
if ($operator == '*')
{
$hasil = $angka*$angka2;
}
if ($operator == '/')
{
$hasil = $angka/$angka2;
}
print "$hasil";
?>

3. Dan file yang terakhir, buat dengan nama “hitung2.php” lalu ketik script berikut :


<?php
$angka = $_POST['angka'];
$operator = $_POST['operator'];
if ($operator == 'abs')
{
$hasil = abs($angka);
}
if ($operator == 'floor')
{
$hasil = floor($angka);
}
if ($operator == 'round')
{
$hasil = round($angka);
}
if ($operator == 'decbin')
{
$hasil = decbin($angka);
}
if ($operator == 'bindec')
{
$hasil = bindec($angka);
}
if ($operator == 'decoct')
{
$hasil = octdec($angka);
}
if ($operator == 'octdec')
{
$hasil = octdec($angka);
}
if ($operator == 'dechex')
{
$hasil = dechex($angka);
}
if ($operator == 'hexdec')
{
$hasil = hexdec($angka);
}
if ($operator == 'sin')
{
$hasil = sin($angka);
}
if ($operator == 'cos')
{
$hasil = cos($angka);
}
if ($operator == 'tan')
{
$hasil = tan($angka);
}
if ($operator == 'log')
{
$hasil = log($angka);
}
if ($operator == 'sqrt')
{
$hasil = sqrt($angka);
}
print "$hasil";
?>


Selamat Mencoba !

Source Code PHP Aplikasi Sistem Pakar

Source Code PHP Aplikasi Sistem Pakar

Halo sahabat Belajar Pintar PHP, masih di akhir tahun 2012 nih. Kali ini saya ingin membagikan kepada anda sebuah aplikasi PHP, yaitu aplikasi sistem pakar. Sahabat sekalian sudah tahu apa itu sistem pakar ?


Sistem Pakar adalah sebuah sistem atau aplikasi buatan yang dimana kita bisa melakukan konsultasi terhadap pakar suatu bidang melalui pertanyaan-pertanyaan pendek yang terdapat dalam sebuah program yang akhirnya dari pertanyaan-pertanyaan yang kita jawab akan menghasilkan sebuah kesimpulan dan solusi yang bisa memecahkan masalah kita. Hampir sama seperti kita konsultasi kepada Dokter, si Dokter akan menanyakan kepada kita apa saja keluhan kita dan apa yang kita rasakan lalu dia akan memberitahu kita apa penyakit kita dan apa obatnya. Nah demikian juga Aplikasi Sistem Pakar ini.
Contoh Sistem Pakar adalah Aplikasi Sistem Pakar Dokter Online. Dimana kita akan mendapatkan beberapa pertanyaan seputar kondisi kita dan akhirnya kita bisa mengetahui penyakit apa yang sedang berada di dalam tubuh kita. Aplikasi ini tampilannya hampir mirip dengan tampilan aplikasi poling.

Pada postingan ini saya memberikan Source Code sistem pakar Konsultasi Komputer dengan PHP. Yaitu sebuah website dimana Anda bisa melakukan konsultasi seputar keadaan komputer dan pada akhirnya Anda akan menemukan solusi untuk memecahkan suatu masalah komputer.

Source Code Aplikasi Sistem Pakar ini masih sangat sederhana dan data yang ada di dalamnya masih sedikit. Hal itu bertujuan agar Anda tertantang untuk mengembangkan lebih jauh lagi source code ini.


Download disini




Jika anda menemukan kesulitan, silahkan ketikkan komentar dibawah ini. Selamat Berkreasi .

(Aplikasi PHP) Membuat Aplikasi Chat Dengan PHP MySQL

(Aplikasi PHP) Membuat Aplikasi Chat Dengan PHP MySQL
Halo sahabat setia Belajar Pintar PHP, akhir tahun 2012 ini saya ingin membagikan kepada anda semua sebuah aplikasi php yang sangat dibutuhkan dalam sebuah website, apakah itu ? yaitu aplikasi chating sederhana dengan php mysql. Saya asumsikan bahwa anda semua sudah tahu apa itu aplikasi chating, yaitu merupakan sarana bagi pengunjung website ataupun admin untuk berinteraksi secara langsung dengan cara mengetikkan pesan atau komentar yang sifatnya Real-Time. 



Oke tanpa basa-basi ,, langsung aja yuk download di link dibawah ini

Download Disini 



Jika anda menemukan kendala dalam pemakaiannya, silahkan koment dibawah ini.

Source Code PHP : Upload dan Hapus File Gambar

Source Code PHP : Upload dan Hapus File Gambar
Bagi sahabat belajar pintar php, perlua anda ketahui bahwa untuk meng-upload file gambar (jpg, jpeg, pjpeg, png, gif) kita harus menggunakan fungsi php yang satu ini yaitu, move_uploaded_file (string path, string new_path), dan untuk menghapus file gambar yang telah di-upload tersebut digunakan fungsi unlink (string filename).  Dimana file gambar akan disimpan di direktori/folder ‘images’ dan data gambar (file_name, ukuran, direktori dan deskripsi gambar) akan disimpan di tabel ‘file_gambar’. 

Untuk membuat tabel tempat menyimpan informasi gambar yang akan di upload, copy dan paste sintak SQL berikut di phpMyAdmin Run SQL query/queries on database database_ku.
CREATE TABLE `database_ku`.`file_gambar` (
`file_id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`file_name` VARCHAR( 50 ) NOT NULL ,
`ukuran` INT( 10 ) NOT NULL ,
`direktori` VARCHAR( 50 ) NOT NULL ,
`deskripsi` TEXT NOT NULL
) ENGINE = MYISAM
Ini sedikit potongan skripnya :

Form upload gambar:

<form action="upload-hapus.php?act=upload" method="post" enctype="multipart/form-data">
<p><input name="fgambar" type="file" id="fgambar" /></p>
<p>Tipe file yang diperbolehkan jpg, jpeg, pjpeg, png atau gif.</p>
<p>Deskripsi:</p>
<p><textarea name="deskripsi" cols="38" rows="5" id="deskripsi">
</textarea></p>
<input type="hidden" name="direktori" id="direktori" value="images" />
<p><input name="upload" type="submit" value="Upload" id="upload" /></p>
</form>
Untuk menampilkan gambar yang telah di upload:
<?php
//tampilkan gambar tersedia
$SQL ="SELECT * FROM file_gambar";
$qryGambar =@mysql_query($SQL);
$no=0;
while($row =@mysql_fetch_array($qryGambar)):
$no++;
$conf ="Anda yakin akan menghapus gambar ".$row['file_name'];
echo '<p>No : '.$no.'</p>';
echo '<p>Nama : '.$row['file_name'].' | <a href="upload-hapus.php?act=hapus&id='.$row['file_id'].'" onclick="return confirm(\'Anda yakin akan menghapus gambar '.$row['file_name'].'\');">Hapus</a></p>';
echo '<p>Ukuran : '.$row['ukuran'].' bytes</p>';
echo '<p><img src="'.$row['direktori'].'/'.$row['file_name'].'" /></p>';
echo '<p>Deskripsi : '.$row['deskripsi'].'</p><hr />';
endwhile;
if($no==0){
echo "<p>Gambar belum tersedia.</p>";
}
?>
Skrip untuk meng-upload gambar:
<?php
include "koneksi.php"; //koneksi dengan database
if($_GET['act']=='upload'):
$tipe =$_FILES['fgambar']['type'];
if( $tipe != "image/jpg" AND
$tipe != "image/jpeg" AND
$tipe != "image/pjpeg" AND
$tipe != "image/png" AND
$tipe != "image/gif"){
echo '<p><b>Upload Gagal</b></p>';
echo '<p>Tipe file yang diperbolehkan jpg, jpeg, pjpeg, png atau gif.</p>';
echo '<p><a href="index.php">ULANGI</p></p>';
}else{
$file_name =$_FILES['fgambar']['name'];
$ukuran =$_FILES['fgambar']['size'];
$direktori =$_POST['direktori'];
$deskripsi =$_POST['deskripsi'];
//Cek gambar
$SQL ="SELECT file_name FROM file_gambar WHERE file_name='$file_name'";
$qGambar =@mysql_query($SQL);
if(count(@mysql_fetch_array($qGambar)) > 1){
echo '<p><b>Upload Gagal</b></p>';
echo '<p>Gambar telah tersedia</p>';
echo '<p><a href="index.php">KEMBALI</p></p>';
}else{
//upload gambar
move_uploaded_file($_FILES['fgambar']['tmp_name'],$direktori.'/'.$file_name);
//simpan data gambar
@mysql_query("INSERT INTO file_gambar"
SET file_name ='$file_name',
ukuran ='$ukuran',
direktori ='$direktori',
deskripsi ='$deskripsi'");"
header('location:index.php');
}
}
endif;
?>
Skrip untuk meng-hapus gambar:
<?php
if($_GET['act']=='hapus'):
//pilih gambar
$id =$_GET['id'];
$SQL ="SELECT * FROM file_gambar WHERE file_id='$id'";
$qGambar =@mysql_query($SQL);
$row =@mysql_fetch_array($qGambar);
//hapus gambar
if(file_exists($row['direktori'].'/'.$row['file_name']))
unlink($row['direktori'].'/'.$row['file_name']);
//hapus data gambar
@mysql_query("DELETE FROM file_gambar WHERE file_id='$id'");
header('location:index.php');
endif;
?>
Belajar pintar php

Jika gambar di hapus akan muncul pesan konfirmasi seperti ini:
konfirmasi-hapus

untuk skrip lengkapnya dapat anda download di  sini.

Sekian source code upload hapus gambar php nya , selamat mencoba buat sahabat belajar pintar php yang cukup setia sampai saat ini.

Source Code Membuat Upload File Tanpa Reload Halaman dengan PHP jQuery

Source Code Membuat Upload File Tanpa Reload Halaman dengan PHP jQuery

Halo sahabat belajar pintar php, pada malam yang istimewa ini tepat pada tanggal 12 bulan 12 tahun 2012 dan jam 12 malam juga, saya ingin membagikan kepada sahabat sekalian postingan yang istimewa juga yaitu skrip php untuk upload file tanpa reload halaman, dan tentunya disini kita harus menggunakan bantuan jquery. Kenapa harus bantuan jquery ? tentu ada salah satu dari sahabat sekalian yang bertanya demikian, jawabannya sih simpel aja, jquery itu bekerja di balik server, sebagai contoh seperti siaran televisi, kita bisa menonton siaran non stop 24 jam tanpa henti, benarkan, tapi anda tahu gak dibalik itu semua kan ada para karyawan atau pekerja yang bekerja dibalik itu semua pada instansi penyiaran itu, hal ini agak mirip dengan jquery, seperti sama halnya dengan twiter, berita terbarunya atau twit orang2 yang anda follow kan otomatis bertambah atau bermunculan satu demi satu tanpa kita harus me reload browser kita, itu lah kerjaan atau tugas si jquery kita ini, dialah bekerja dibalik ini semua hingga kita tidak perlu mereload halaman browser kita. Sampai disini sahabat setia belajar pintar php sudah paham kan. Oke kalau gitu mari kita ke TKP ..!!!

Sahabat semua demi keamanan web jQuery tidak mengizinkan men-submit form yang memiliki enctype multipart/form-data secara langsung dengan menggunakan Ajax Post nantinya, $_FILES tidak akan  dikenali.  Sebagai penggantinya jQuery menyediakan plugin jquery.iframe-post-form.js

Berikut saya berikan contoh aplikasi sederhana dari pluginiframe-post-form yang akan digunakan untuk meng-upload file gambar (*gif, *jpg, *png atau *jpeg). Proses upload dapat berlangsung tanpa harus me-reload halaman browser anda . karena pada skrip dilengkapi dengan simple modal jquery.simplemodal.js untuk menampilkan animasi uploading sebagai tanda bahwa proses upload sedang berlangsung. mirip seperti kita mengupload foto di facebook. Form upload dan hasil upload akan ditampilkan seperti gambar dibawah ini:
upload-tanpa-reload
Upload akan berlangsung saat nilai fupload (Pilih File yang akan di upload) berubah.

berikut saya tampilkan potongan skripnya.

<script src=”js/jquery-1.3.2.js”></script>
<script src=”js/jquery.iframe-post-form.js”></script>
<script src=”js/jquery.simplemodal.js”></script>
<script src=”js/mgupload.js”></script>

$(’#fupload’).change(function(){
$(’#form-upload’).submit();
});
$(’#form-upload’).iframePostForm ({
post : function (){
$(’#uploading’).modal();
},
complete : function (result){
$.modal.close();
$(”#up-result”).html(result);
}
});
Sahabat Belajar Pintar PHP dapat mendownload skrip lengkapnya  di sini

Jika anda sudah selesai mendownload skripnya, anda yang pengen berkreasi sendiri dapat merombak atau memodifikasi skripnya pada tanda yang diberikan di dalam kodingnya.

Untuk memodifiksi skrip dapat anda lihat  kode ‘<!–MODIFIKASI SKRIP MULAI DISINI’ pada skrip halaman index.php

Sekian tutorial membuat aplikasi upload file tanpa reload dari saya, selamat mencoba.

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,

( 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.

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.