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

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.

Source Code : Truncating untuk Mendapatkan String Tertentu pada PHP

Source Code : Truncating untuk Mendapatkan String Tertentu  pada PHP

Sebelumnya tahukah anda apa itu Truncating ? 

Truncating adalah cara yang dipergunakan untuk memotong teks yang panjang agar dapat ditampilkan dengan hanya beberapa kata saja di website kita. Kegunaan dari truncating tentu sangatlah banyak, misalnya untuk menampilkan beberapa sinopsis dari sekian banyak data berbentuk tulisan pada database yang akan menjadi terlalu panjang apabila kita tampilkan secara keseluruhan. 
Contoh truncating misalnya ketika kita telah memiliki sekian banyak tulisan dan ingin kita tampilkan dalam halaman depan website yang kita miliki. Katakanlah kita ingin menampilkan 10 tulisan terakhir. Maka, yang kita lakukan adalah melakukan fetch array terhadap data tersebut, 
misalnya dengan kode PHP sebagai berikut:
<?
$pemakai='root';
$sandi='admin';
$database='kursusprivat';

$koneksi=mysql_connect('localhost',$pemakai,$sandi);
if (!$koneksi){
echo "Koneksi GAGAL! <br>";
}
$pilihdb=mysql_select_db($database, $koneksi);
if (!$pilihdb){
echo "Database TIDAK ADA! <br>";
}
$order='SELECT * FROM tulisan ORDER BY id LIMIT 10 DESC';
$hasil=mysql_query($order, $koneksi);
while ($baris=mysql_fetch_array($hasil)){
echo "$baris[judul]<br />";
echo "$baris[isi]<br />";
}
?>
Dengan cara di atas, maka kita dapat menampilkan 10 tulisan terakhir yang telah disimpan pada table “tulisan”, database “kursusprivat”. Akan tetapi, yang ditampilkan adalah keseluruhan dari data tersebut, padahal kita hanya menginginkan hanya beberapa kata saja agar tampilan website menjadi lebih ringkas.

Function substr()

Function substr() dipergunakan untuk memotong sejumlah huruf pada hitungan tertentu. Syntaxnya adalah sebagai berikut:
substr ( string $string , int $start [, int $length ] );
Keterangan:
string adalah tulisan yang akan kita potong, minimal memiliki 1 karakter
start adalah posisi awal di mana tulisan tersebut akan dipotong (biasanya positif, tapi bisa juga negatif)
length adalah berapa panjang tulisan tersebut akan diambil
Contoh:
$tanggal="2011-12-31";
$hari=substr($tanggal, -2);    //hasilnya 31
$bulan=substr($tanggal, 5, 2); //hasilnya 12
$tahun=substr($tanggal, 0, 4); //hasilnya 2011
cukup jelas bukan?
Dengan demikian, jika kita ingin memotong 100 huruf pertama dari data field “isi” pada contoh di atas adalah dengan menambahkan perintah substr() tersebut sehingga baris-baris kodenya menjadi sebagai berikut:
<?
$pemakai='root';
$sandi='admin';
$database='kursusprivat';
$koneksi=mysql_connect('localhost',$pemakai,$sandi);
if (!$koneksi){
echo "Koneksi GAGAL! <br>";
}
$pilihdb=mysql_select_db($database, $koneksi);
if (!$pilihdb){
echo "Database TIDAK ADA! <br>";
}
$order='SELECT * FROM tulisan ORDER BY id LIMIT 10 DESC';
$hasil=mysql_query($order, $koneksi);
while ($baris=mysql_fetch_array($hasil)){
$sinopsis = substr($baris[isi], 100);
echo "$baris[judul]<br />";
echo "$sinopsis<br />";
}
?>
Nah, dengan cara ini kita dapat memotong teks yang panjang menjadi hanya ditampilkan 100 huruf pertama saja. Akan tetapi muncul masalah lain, yakni pemotongan tersebut tidak berdasarkan pada kata melainkan pada huruf, sehingga apabila huruf ke-100 tersebut berada pada tengah-tengah sebuah kata, misalnya “fungsi” menjadi “fun”. Wah, jadinya lucu bukan? Atau malah bisa jadi berbahaya.

Function strpos()

Function strpos() dipergunakan untuk menghitung posisi karakter tertentu pada sebuah kata atau kalimat. Syntax-nya adalah sebagai berikut:
strpos($kalimat, $karakter[, int $offset]);
Contoh:
<?php
//Mencari posisi sebuah karakter dengan mengabaikan posisi karakter yang telah ditemukan sebelumnya
$kalimat = 'abcdef abcdef';
$pos = strpos($kalimat, 'a', 1); // $pos = 7, bukan 0
?>
Memotong Teks Tepat pada SpasiDengan mengabungkan fungsi pencarian posisi dan fungsi truncating, maka kita bisa menghasilkan sebuah fungsi baru yang dapat kita gunakan untuk memotong teks tepat pada spasi. Contohnya adalah sebagai berikut:
<?
$pemakai='root';
$sandi='admin';
$database='kursusprivat';
$koneksi=mysql_connect('localhost',$pemakai,$sandi);
if (!$koneksi){
echo "Koneksi GAGAL! <br>";
}
$pilihdb=mysql_select_db($database, $koneksi);
if (!$pilihdb){
echo "Database TIDAK ADA! <br>";
}
$order='SELECT * FROM tulisan ORDER BY id LIMIT 10 DESC';
$hasil=mysql_query($order, $koneksi);
while ($baris=mysql_fetch_array($hasil)){
$isi = "$tampil[isi]";
$sinopsis = substr($isi,0,strpos($isi,' ',100));
echo "$baris[judul]<br />";
echo "$sinopsis<br />";
}
?>
Nah, dengan script seperti di atas, maka kita dapat memotong teks yang panjang menjadi teks yang lebih pendek dan hasil pemotongan teksnya pun lebih baik karena dipotong tepat pada spasi.
Terimakasih ...!!!

Source Code Website Multimedia Menggunakan PHP MySql

Source Code Website Multimedia Menggunakan PHP MySql

website multimedia

Halloo sahabat belajar pintar php ...!! Kali ini saya akan membagikan secara gratis Source code php membuat website multimedia dengan menggunakan database mysql.

Website ini adalah website multimedia penggabungan dari content tulisan, gambar, dan video streaming. terdapat 2 halaman utama yaitu frontend atau halaman publik dan backend atau halaman admin.



Pada Halaman Frontend atau Publik terdapat :


  • Halaman artikel
  • Halaman Gallery Photo
  • Halaman Gallery Video
  • Terdapat Shoutbox
  • Banner Flash
  • Jam Javacsript
  • Jquery Gallery Photo
  • Download Video
Sedangkan pada halaman Backend atau admin terdapat :
  • Masuk melalui URL /admin/
  • Gunakan username password admin
  • Halaman edit Gallery Photo
  • Halaman edit Gallery Video
  • Halaman edit Artikel
  • Halaman edit Profil

Fitur Website Multimedia ini :

Website multimedia ini lebih menekankan pada fungsi upload video melalui halaman admin atau backend, dan tampilkan semua video serta ada fungsi download video yang sedang ditampilkan di halaman gallery video atau frontend.

Gambar Database :

website multimedia

file databasenya db_multimedia.sql.zip yang ada di folder utama web. 

silahkan import ke database mysql di komputer teman-teman. Dalam kasus ini saya asumsikan sahabat semua sudah mengetahui cara menginportnya,, jika belum, silahkan pelajari lagi dari om google tersayang kita.


Download source codenya disini :
http://www.4shared.com/zip/gjNOW2sC/video_online.html



Selamat Mencoba ....!!!

Source Code Sistem Informasi Akuntansi Dengan PHP MySql Terbaru

Source Code Sistem Informasi Akuntansi Dengan PHP MySql Terbaru
Hallo sahabat belajar pintar php...!!!  kali ini saya akan berbagi tentang sebuah web tentang akuntansi online atau E-Accounting
E-Accounting adalah sebuah Aplikasi akuntansi berbasis web yang digunakan untuk mengelola laporan keuangan sesuai dengan siklus akuntansi seperti Pencatatan, Penggolongan, Pengikhtisaran, dan Pelaporan.
Aplikasi ini dibuat menggunakan bahasa pemrograman PHP dengan database MySQL. aplikasi ini juga dibuat berdasarkan sebuah referensi buku yang membahas tentang pembuatan software akuntansi menggunakan visual FoxPro 9.

Berikut Gambar Tampilannya :


login
Usernama dan Password = agus
neraca percobaan
Neraca Percobaan
jurnal umum
Jurnal Umum

Perancangan Databasenya sebagai berikut  :

struktur database
Database akuntansi_db

Aplikasi ini mungkin masih terdapat bug atau kesalahan logic. Ada baiknya jika teman-teman yang mahir akuntansi bisa menyempurnakannya. Maklum saja karena saya buka jurusan akuntansi. 
terimakasih jika teman-teman yang lebih mahir dalam bidang akuntansi ataupun dalam bidang pemrograman web dapat mengembangkan aplikasi ini demi ilmu pengetahuan.
Untuk login aplikasi E-accounting gunakan username dan password nya adalah agus. Anda juga bisa membuat akun login yang baru melalui PHPMyAdmin.


Download disini

Non Enkripsi


Selamat berkreasi ..!!!

Tutorial AJAX PHP: Tutorial Ajax Membuat Database Kemahasiswaan Menggunakan Teknologi AJAX, PHP & MySQL

Tutorial AJAX PHP: Tutorial Ajax Membuat Database Kemahasiswaan Menggunakan Teknologi AJAX, PHP & MySQL

AJAX merupakan kepanjangan dari Asynchronous Javascript And XML, pertama kali diperkenalkan oleh Jesse James Garret dari perusahaan konsultan adaptive path pada tahun 2005. Pada aplikasi web tradisional, sebuah aplikasi web berjalan secara sinkron (synchronously) antara client dan server. Dimana setiap client mengklik suatu link, maka server akan merespon dengan mengirimkan / merefresh seluruh halaman. 

Dalam aplikasi server dengan jumlah client yang sedikit, tentunya tidak jadi masalah menggunakan metode tradisional ini, namun dalam aplikasi berskala besar yang memproses ribuan permintaan dalam sekali waktunya, tentu ini menjadi suatu masalah besar, dimana akan menghabiskan bandwidth dan proses di sisi server.

Aplikasi yang berbasis ajax, bekerja secara asinkron (asynchronously). Dimana proses dilakukan secara background / dilaksanakan di belakang layar, sehingga proses pengiriman & penerimaan data antara server & client dapat berjalan tanpa harus merefresh / memperbaharui halaman, hanya satu atau lebih elemen yang diganti dengan data yang baru hasil pemrosesan dari server. Dalam prosesnya, AJAX menggunakan metode XMLHttpRequest untuk tukar menukar data antara client & server.

Dengan semakin luas & berkembangnya dunia internet, tentunya metode ini dapat sangat membantu dalam optimasi suatu aplikasi web. Dan dalam kasus ini akan diberikan contoh bagaimana membuat aplikasi data mahasiswa berbasis ajax



Download Tutorial Lengkapnya disini :Dowload Tutorial Lengkapnya disini

Aplikasi Ajax PHP :Cara Membuat Aplikasi Pencarian dengan AJAX PHP

Aplikasi Ajax PHP :Cara Membuat Aplikasi Pencarian dengan AJAX PHP

search

Latar Belakang :

Saya coba memahami dan mempelajari tentang AJAX, dan hasilnya saya tuliskan kembali dalam Blog ini.
Tutorial ini saya akan membahas tentang pencarian kata (search) dengan menggunakan AJAX, PHP, dan MySQL dalam sebuah kasus bukutamu.
Adapun cara kerja dari aplikasi ini adalah :
  1. User menginput kata yang dicari.
  2. Dengan “event handling” à onkeyup, setiap user memasukan kata, maka program akan menjalankan fungsi pencarian.
  3. Hasil pencarian akan ditampilkan dalam table.

File-file yang dibutuhkan :

Dalam membuat aplikasi ini ada beberapa file yang dibutuhkan yaitu :
  1. index.php berisi form untuk memasukan kata yang dicari.
  2. ajax.js berisi fungsi untuk membuat koneksi asynchronous dengan server.
  3. proses.php berfungsi untuk memproses kata yang dicari dan menampilkannya kembali ke halaman (file) index.php.

Pertanyaan :

Bagaimana cara ajax menampilkan data yang sudah di proses ke dalam halaman utama aplikasi??
<form>
<b>Cari disini : </b><input type=”text” size=”25″ />
</form>
<br />
<div id=”pencarian”></div>

ajax menampilkan data hasil proses ke dalam tag yang sudah di definisikan didalam halaman utama aplikasi yaitu  <div></div>. dan tag tersebut sudah dicantumkan didalam file ajax yaitu             var obj=document.getElementById(“pencarian”);

Konsepku :

Dari penjelasan diatas dapat diketahui alurnya adalah :
Index.php ———–ajax.js ———-proses.php
  1. Dimana, file index.php mengirim data melalui file ajax.js (tanpa melakukan refresh halaman).
  2. File ajax.js meneruskan pengiriman data dengan tujuan file proses.php
  3. File proses.php mengolah data dan menampilkan data kedalam file index.php dengan bantuan tag <div></div>.
Pencarian Ajax Gambar
Download file Pencarian PHP Ajax :
Referensi Pencarian PHP biasa :
Selamat Mencoba !!!

Tutorial Codeigniter: Penggunaan AJAX dengan JQuery Pada PHP

Tutorial Codeigniter: Penggunaan AJAX dengan JQuery Pada PHP
Pada kali ini saya akan berbagi bagai mana cara penggunaan ajax pada framework codeigniter, dan pada tutorial kali ini, saya mengasumsikan bahwa anda sudah mengetahui codeigniter, atau yang belum anda bisa belajar dulu dari posting2 saya sebelumnya. Oke tanpa banyak basa-basi,, langsung saja ya bro ,, ke TKP ...!!!! Pada kasus ini kita akan membuat program insert kedalam database dengan menggunakan ajax dan codeigniter.
Pada input.php tambahkan script javascript yang berisi fungsi AJax menggunakan JQuery, jangan lupa pada head juga ditambahkan fungsi untuk memanggil JQuerynya. Sehingga input.php akan tampak seperti berikut :

<!DOCTYPE HTML> <html lang="en-US"> <head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<meta charset="UTF-8">
</head>
<body>
<h2 >Daily Notes</h2>
<div id="form_input">
... //kode sebelumnya
</div>
<div id="show">
<?php $this->load->view('daily/show') ?>
</div>
<script type="text/javascript">
$('#submit').click(function(){
var form_data = {
date: $('#date').val(),
name: $('#name').val(),
amount: $('#amount').val(),
ajax:1
};
$.ajax({
url : "<?php echo site_url('daily/submit')?>",
type : 'POST',
data : form_data,
success: function(msg){
$('#show').html(msg),
$('#date').val('<?php echo date('Y-m-d'); ?>'),
$('#name').val(''),
$('#amount').val('')
}
});
return false;
});
</script>
</body>
</html>

Sedangkan pada controller daily.php pada fungsi submit di ubah menjadi seperti berikut :


function submit()
{
if ($this->input->post('ajax'))
{
$this->MDaily->save();
$data['query'] = $this->MDaily->getAll();
$this->load->view('daily/show',$data);
}else{
if ($this->input->post('submit'))
{
$this->MDaily->save();
}
redirect('daily/index');
}
}

Sekarang coba untuk input data,selamat mencoba
Catatan, pada kasus ini kita memanggil jquery langsung dari web-nya, sehingga agar dapat di jalankan secara offline, atau localhost download dulu jquerynya, kemudian arahkan ke jquery tersebut, sebagai contoh file jquery saya letakkan di direktori /javascript/jquery-1.3.2.js, maka baris ke lima di ubah menjadi

<script type="text/javascript" src="<?php echo base_url(); ?>javascript/jquery-1.3.2.js"></script>

Ajax PHP : Tutorial Cara Upload Gambar Dengan AJAX PHP

Ajax PHP : Tutorial Cara Upload Gambar Dengan AJAX PHP
Sebenarnya hal ini tidak beda jauh dengan cara mengupload foto dengan PHP, hanya saja dengan menggunakan ajax, maka cara kerjanya lebih cepat dan dinamis.
Tutorial Cara Upload Gambar dengan AJAX PHP akan menggunakan cara yang sama dengan yang digunakan di tutorial tersebut, ditambahan sedikit trik dan javascript. Untuk meng-upload gambar dengan AJAX diperlukan bantuan  <iframe>. Di tutorial upload gambar dengan PHP digunakan html form seperti di bawah:

<!--form to upload file-->
<form name="formupload" method="post" enctype="multipart/form-data" action="script/to/upload/file.php">
Picture : <input name="picture" type="file" />     
<input type="submit" name="upload" value="Upload" />
</form>


Perlu sedikit perubahan di html form yang digunakan untuk mengupload file seperti berikut:



<iframe name="upload-frame" id="upload-frame" style="display:none;">
</iframe>  
<form name="formupload" method="post" enctype="multipart/form-data" action="upload.php"  target="upload-frame" onsubmit="startUpload();"> 
Picture : <input name="picture" type="file" />
<input type="submit" name="upload" value="Upload" />
</form>
<div id="uploaded-picture">
<!-- div tempat photo yang telah diupload ditampilkan -->
</div>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
function startUpload(){     $("#uploaded-picture").html("loading...");
}
function displayPicture(pictureUrl){
var img = new Image();
$(img).load(function()
{
$(this).hide();
$("#uploaded-picture").html($(this));
$(this).fadeIn();
})
.attr('src', pictureUrl)  
.error(function()
{      
alert("gagal menampilkan gambar");
 });   }  
</script>  


Di baris 1 ditambahkan html tag <iframe> dengan atribut name="upload-frame", id="upload-frame" dan menggunakan atribut style="display:none;" agar <iframe> tersembunyi.
Di bagian tag <form> baris 2 ditambahkan atribut target="upload-frame", atribut target ini diisi dengan hal yang sama dengan atribut name"upload-frame" dari tag <iframe>.
Baris 6 menambahkan tag <div/> tempat menampilkan gambar yang telah diupload.
Baris 9 menambahkan javascript jquery. Baris selanjutnya membuat dua function javascript, startUpload() untuk menampilkan text loading saat gambar sedang diupload dan displayPicture(pictureUrl) untuk menampilkan gambar setelah selesai diupload.

Langkah selanjutnya yang perlu dilakukan adalah membuat script untuk mengupload file.



<?php 
//file upload.php 
$fileName = $_FILES['picture']['name']; 
$fileSize = $_FILES['picture']['size']; 
$fileError = $_FILES['picture']['error']; 
$success = false; 
if($fileSize > 0 || $fileError == 0){ 
$move = move_uploaded_file($_FILES['picture']['tmp_name'], 'photo/'.$fileName); //atau ke directory yang dinginkan 
 if($move){ 
 $success = true; 

}
echo '<script type="text/javascript">'; 
 if($success){ 
 echo "parent.displayPicture('photo/$fileName');"; 
  }else{ 
 echo "alert('Upload gagal $fileError');"; 
 } 
echo '</script>'; 
?>  

Jika file gagal diupload maka akan ditampilkan alert dan jika file berhasil diupload maka akan dipanggil function displayPicture().


Selamat Mencoba

Download Tutorials

Tutorial PHP : Cara Menampilkan Grafik Pie dengan PHP dan MySQL

Tutorial PHP : Cara Menampilkan Grafik Pie dengan PHP dan MySQL
Grafik Pie PHP

Halo sahabat Belajar Pintar PHP sekalian, sebelumnya saya mengucapkan terimakasih atas kesetiannya terhadap blog saya ini yaitu belajar pintar php. Kali ini saya akan share sedikit ilmu tentang cara membuat grafik pada aplikasi php. Oke langsung saja ke TKP .. !!!!
Ini tips kepada anda bagaimana menampilkan Grafik dalam bentuk Pie menggunakan PHP dan MySQL. Silahkan anda membuat database nya menggunakan tabel dibawah, atau anda dapat memodifikasi sesuai kebutuhan.

CREATE TABLE `tabelpengunjung` (
`nomor` int(5) NOT NULL auto_increment,
`nama` varchar(50) NOT NULL,
`tanggal` date NOT NULL,
PRIMARY KEY  (`nomor`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
INSERT INTO `tabelpengunjung` (`nomor`, `nama`, `tanggal`) VALUES
(1, ‘Ivan’, ’2010-05-04′),
(2, ‘Nita’, ’2010-05-11′),
(3, ‘Lily’, ’2010-05-18′),
(4, ‘Viekka’, ’2010-06-15′),
(5, ‘Dinda’, ’2010-07-13′),
(6, ‘Putrie’, ’2010-07-06′),
(7, ‘Joko’, ’2010-08-11′),
(8, ‘Jaka’, ’2010-08-17′);

Selanjutnya buat halaman php dengan nama "pie.php" , lalu copy-pastekan script dibawah ini kedalamnya.


<?php
mysql_connect("localhost","root","");
mysql_select_db("test");
$data = "";
$label = "";
$query = mysql_query(“select count(*) as jumlah, monthname(tanggal) as bulan
from tabelpengunjung group by monthname(tanggal)”);
while($q=mysql_fetch_array($query)){
$data = $data.$q['jumlah'].”*”;
$label = $label.$q['bulan'].”*”;
}
$data = substr($data,0,-1);
$label = substr($label,0,-1);
$show_label = true;
$show_percent = true;
$show_text = true;
$show_parts = false;
$label_form = ‘square’;
$width = 199;
$background_color = ‘FFFFFF’;
$text_color = ’000000′;
$colors = array(’003366′, ‘CCD6E0′, ’7F99B2′,’F7EFC6′, ‘C6BE8C’, ‘CC6600′,’990000′,’520000′,’BFBFC1′,’808080′);
$shadow_height = 16;
$shadow_dark = true;
$height = $width/2;
$data = explode(‘*’,$data);
if ($label != ”) $label = explode(‘*’,$label);
for ($i = 0; $i < count($label); $i++)
{
if ($data[$i]/array_sum($data) < 0.1) $number[$i] = ‘ ‘.number_format(($data[$i]/array_sum($data))*100,1,’,',’.').’%';
else $number[$i] = number_format(($data[$i]/array_sum($data))*100,1,’,',’.').’%';
if (strlen($label[$i]) > $text_length) $text_length = strlen($label[$i]);
}
if (is_array($label))
{
$antal_label = count($label);
$xtra = (5+15*$antal_label)-($height+ceil($shadow_height));
if ($xtra > 0) $xtra_height = (5+15*$antal_label)-($height+ceil($shadow_height));
$xtra_width = 5;
if ($show_label) $xtra_width += 20;
if ($show_percent) $xtra_width += 45;
if ($show_text) $xtra_width += $text_length*8;
if ($show_parts) $xtra_width += 35;
}
$img = ImageCreateTrueColor($width+$xtra_width, $height+ceil($shadow_height)+$xtra_height);\
ImageFill($img, 0, 0, colorHex($img, $background_color));
foreach ($colors as $colorkode)
{
$fill_color[] = colorHex($img, $colorkode);
$shadow_color[] = colorHexshadow($img, $colorkode, $shadow_dark);
}
$label_place = 5;
if (is_array($label))
{
for ($i = 0; $i < count($label); $i++)
{
if ($label_form == ’round’ && $show_label)
{
imagefilledellipse($img,$width+11,$label_place+5,10,10,colorHex($img, $colors[$i % count($colors)]));
imageellipse($img,$width+11,$label_place+5,10,10,colorHex($img, $text_color));
}
else if ($label_form == ‘square’ && $show_label)
{
imagefilledrectangle($img,$width+6,$label_place,$width+16,$label_place+10,colorHex($img, $colors[$i % count($colors)]));
imagerectangle($img,$width+6,$label_place,$width+16,$label_place+10,colorHex($img, $text_color));
}
if ($show_percent) $label_output = $number[$i].’ ‘;
if ($show_text) $label_output = $label_output.$label[$i].’ ‘;
if ($show_parts) $label_output = $label_output.$data[$i];
imagestring($img,’2′,$width+20,$label_place,$label_output,colorHex($img, $text_color));
$label_output = ”;
$label_place = $label_place + 15;
}
}
$centerX = round($width/2);
$centerY = round($height/2);
$diameterX = $width-4;
$diameterY = $height-4;
$data_sum = array_sum($data);
$start = 270;
for ($i = 0; $i < count($data); $i++)
{
$value += $data[$i];
$end = ceil(($value/$data_sum)*360) + 270;
$slice[] = array($start, $end, $shadow_color[$value_counter % count($shadow_color)], $fill_color[$value_counter % count($fill_color)]);
$start = $end;
$value_counter++;
}
for ($i=$centerY+$shadow_height; $i>$centerY; $i–)
{
for ($j = 0; $j < count($slice); $j++)
{
if ($slice[$j][0] != $slice[$j][1]) ImageFilledArc($img, $centerX, $i, $diameterX, $diameterY, $slice[$j][0], $slice[$j][1], $slice[$j][2], IMG_ARC_PIE);
}
}
for ($j = 0; $j < count($slice); $j++)
{
if ($slice[$j][0] != $slice[$j][1]) ImageFilledArc($img, $centerX, $centerY, $diameterX, $diameterY, $slice[$j][0], $slice[$j][1], $slice[$j][3], IMG_ARC_PIE);
}
OutputImage($img);
ImageDestroy($img);
function colorHex($img, $HexColorString)
{
$R = hexdec(substr($HexColorString, 0, 2));
$G = hexdec(substr($HexColorString, 2, 2));
$B = hexdec(substr($HexColorString, 4, 2));
return ImageColorAllocate($img, $R, $G, $B);
}
function colorHexshadow($img, $HexColorString, $mork)
{
$R = hexdec(substr($HexColorString, 0, 2));
$G = hexdec(substr($HexColorString, 2, 2));
$B = hexdec(substr($HexColorString, 4, 2));
if ($mork)
{
($R > 99) ? $R -= 100 : $R = 0;
($G > 99) ? $G -= 100 : $G = 0;
($B > 99) ? $B -= 100 : $B = 0;
}
else
{
($R < 220) ? $R += 35 : $R = 255;
($G < 220) ? $G += 35 : $G = 255;
($B < 220) ? $B += 35 : $B = 255;
}
return ImageColorAllocate($img, $R, $G, $B);
}
function OutputImage($img)
{
header(‘Content-type: image/jpg’);
ImageJPEG($img,NULL,100);
}
?>

Oke,  scipt diatas digunakan utuk membuat grafik pie.
kemudian kita akan membuat halaman yang berfungsi untuk menampilkan grafik pie tersebut didalam file lain dengan cara, buat sebuah halaman html dengan nama "tampilkangrafik.html". lalu copy-pastekan script dibawah ini kedalamnya.

<img src=pie.php>

Jika sudah, sekarang silahkan jalankan script tersebut di webserver kesayangan anda.
(yang dijalankan adalah halaman "tampilkangrafik.html".

Selamat Mencoba.

Tips PHP : Cara Meningkatkan Keamanan Website Kita Dengan PHP

Tips PHP : Cara Meningkatkan Keamanan Website Kita Dengan PHP
Terkadang kita sering lupa atau bahkan tidak memikirkan keamanan website yang kita buat. Keamanan PHP web Saat kita mulai membuat aplikasi berbasis web dengan menggunakan PHP tentu kita akan berfokus pada cara pembuatannya, bagaimana mengimplementasikan logika sehingga menghasilkan suatu karya sistem yang berjalan sesuai dengan keinginan dan kebutuhan kita.

Tapi ada kalanya kita perlu membalik pola pikir tersebut dengan memandang sebagai seorang user (pengguna aplikasi) yang mungkin memiliki waktu lebih banyak dalam penggunaan aplikasi tersebut. Dalam hal ini banyak hal yang mungkin tidak kita perhatikan dari aplikasi buatan kita tersebut oleh karena itu ada pepatah “Tidak ada sistem yang sempurna.” tetapi penulis akan memberikan sedikit informasi keamanan dasar sehingga kita bisa sedikit melangkah menuju kesempurnaan tersebut.

Beberapa hal yang perlu diperhatikan dalam langkah percobaan para cracker untuk memboikot akses website kita antara lain :

1. Melalui URL (method GET)
2. Melalui media input yang terdapat dalam form (method POST)

Seperti yang kita bahas sebelumnya  bahwa terdapat 2 cara umum pengiriman variable dalam PHP yaitu GET dan POST sehingga perlu penanganan khusus dalam penerimaan serta pengiriman variable tersebut.

Untuk method POST :
Method POST ini sering dugunakan untuk menangkap variable dari media input yang terdapat dalam FORM.

Nah, dengan bahan pertimbangan yang diatas maka ada beberapa tips agar web kita sedikit aman dari serangan cracker, Apa ?? sedikit aman ?? tentu anda bertanya demikian, kenapa saya mengatakan demikian, karena seperti yang saya katakan  tadi bahwa tidak ada sistem yang sempurna. Jadi yang saya berikan dibawah ini akan sangat membantu web anda untuk mendekati sistem yang sempurna.

1. Batasi jumlah karakter (maxlength)

Pembatasan jumlah karakter dalam media input sangat penting sehingga tidak dimungkinkan penulisan script seperti javascript pada inputbox tersebut.

Contoh implementasi : <input name=”_cari” maxlength=”10? />

Titik rawan : Input Login (username dan password), Input search

2. Lapisi dengan penahan kutip atau addslashes()

Fungsi PHP ini akan membantu kita menambahkan tanda kutip (‘) pada setiap karakter garing (/) sehingga dapat mencegah timbulnya efek SQL injection. Saya rasa teknik hacking ini cukup populer diantara anda. Penambahan kutip akan membuat garing menjadi bertipe string sehingga tidak dianggap sebagai salah satu perintah query pada MySQL / SQL.

Contoh implementasi : addslashes($_POST['_username'])

Titik rawan : Form Login

3. Lapisi dengan penahan tag atau htmlspecialchars()

Untuk mencegah terjadinya teknik hacking xss atau javascript injection maka ada baiknya kita menambahkan fungsi tersebut. Hal ini akan membuat tag html maupun javascript memiliki tipe data string sehingga tidak akan dieksekusi oleh browser.
Apabila script dimungkinkan dalam media input sehingga masuk ke dalam database dan saat browser membuka halaman yang terkontaminasi tersebut maka browser akan melakukan eksekusi terhadap perintah tersebut yang biasanya dalam bentuk javascript.

Contoh implementasi : htmlspecialchars($_POST['pesan'])

Titik rawan : Form Login, Form Kontak Admin

4. Perhatikan nama media input Web anda

Sudah saatnya kita berusaha sedikit lebih unik dalam menentukan nama pada media input kita sehingga mempersulit beberapa tools penjahat yang menggunakan library (kamus kata) dalam penentuan nama variable incarannya. Misalnya pada media input login tambahkan garis bawah. Tentu anda memiliki ide sendiri dalam mengimplementasikan hal ini.

Contoh implementasi : <input name=”_username” />

Titik rawan : Input Login (username dan password)

Untuk method GET :

Method get merupakan penangkapan variable yang berasal dari URL.

1. Gunakan .htaccess

Sebenarnya ini adalah sebuah metode yang menjadikan website kita seakan memiliki struktur direktori yang luas, padahal itu adalah variable. Sehingga memecah konsentrasi dari pengunjung yang berniat isenk. Bila halaman tidak ditemukan maka kita dapat meredirectnya ke halaman 404 kesayangan kita.

Implementasi :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]
</IfModule>

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com/$1 [L,R=301]


2. Hindari $_REQUEST()

Metode ini digunakan untuk menangkap variable dalam bentuk POST dan GET. Ada kalanya kita membutuhkan metode penerimaan variable dengan menggunakan fungsi ini, tetapi batasilah penggunaannya karena tanpa disadari suatu saat anda akan mendapatkan masalah karena hal ini. Dan bila kita telah terlanjur menggunakannya pada seluruh aplikasi kita maka kita akan sulit untuk merubah (Bisa, dengan memilah mana yang tidak perlu dan benar-benar menggunakan.).

Tambahan :

1. Session dan Cookies timeout

Gunakan timeout pada session atau cookies terutama untuk pengenalan login. Session merupakan penanda dari sisi server dan akan hilang apabila browser ditutup, sedangkan cookies adalah pengenalan dari sisi browser dan bila tidak diset timeout maka status akan terus login (pada pengenalan login.), tentu saja anda tau kemungkinan-kemungkinan yang akan terjadi selanjutnya.

Selamat menerapkannya pada website atau blog kita masing-masing.