Sa ve As t iga kali m asing- m asing pada direkt ori polling\ in c, polling\ log, dan
Sa ve As t iga kali m asing- m asing pada direkt ori polling\ in c, polling\ log, dan
polling\ ga m ba r dengan nam a inde x .ph p. Tugas file ini hanyalah m elakukan redirect ket ika ada ayng m encoba m asuk ke direkt ori inc.
File berikut nya j uga sangat sederhana karena hanya berisi kum pulan kode HTML. Fungsi file ini adalah unt uk m encet ak header HTML pada set iap halam an. Buat file PHP baru pada PHP DESI GNER 2005 lalu ket ik kode berikut
Script dari file h e a de r .ph p <?php
/********************************************************** ** Nama File....: header.php *** ** Penulis......: Rio Astamal *** ** Tanggal......: 16-10-2005 *** ** Penjelasan...: untuk menampilkan header halaman *** ***********************************************************/
< html > < head > < style > < html > < head > < style >
a { color : #076fd0}
a : visited { color : #o76fd0} </ style > </ head > < body >
Sim pan pada direkt ori polling\ inc dengan nam a h e a de r .ph p.
File berikut nya adalah file yang berisi konfigurasi unt uk NgawurPolling. Konfigurasi ini m eliput i pengecekan user, grafik bar yang digunakan dan sebagainya. Klik File > N e w > PH P unt uk m em buat file PHP baru lalu ket ik kode berikut
Script dari file k on fig.ph p
<? php
/*********************************************************** ** Nama File.....: konfig.php *** ** Penulis.......: Rio Astamal *** ** Tanggal.......: 16-10-2005 *** ** Penjelasan....: berisi konfigurasi untuk polling *** ************************************************************/
// cegah pengaksesan langsung dari browser if ( eregi ( 'konfig.php' , $_SERVER [ 'PHP_SELF' ]))
exit ( 'Error: Akses ditolak' );
// tentukan gambar yang digunakan untuk masing2 polling $gambar [ 'pemain' ]= 'gambar/green_bar.jpg' ; // grafik untuk polling pemain $gambar [ 'klub' ]= 'gambar/red_bar.jpg' ; // grafik untuk polling klub
$gambar [ 'band' ]= 'gambar/blue_bar.jpg' ; // grafik untuk polling band
// tentukan lebar maximal dari gambar grafik $lebar_max = 400; // dalam pixel
// batasi user untuk memilih hanya satu kali dengan cookie $cek_cookie = 'no' ;
// yes atau no
// tentukan masa aktif cookie dalam detik $masa_aktif = time () + 60 * 60 * 24 * 7; // 1 minggu
// batasi user untuk memilih hanya satu kali dengan alamat IP $cek_ip = 'no' ;
// yes atau no
Sim pan pada direkt ori polling\ inc dengan nam a k on fig.ph p. Unt uk grafik bar pada m asing- m asing polling kit a sim pan pada array $gambar.
File berikut nya yang akan kit a buat adalah file yang m enyim pan sem ua fungsi unt uk yang digunakan pada set iap halam an NgawurPolling. Unt uk m em buat nya sepert i biasa File > N e w > PH P lalu ket ik kode berikut
Script dari file fu n gsi.ph p <?php
/********************************************************** ** Nama File....: fungsi.php *** ** Penulis......: Rio Astamal *** ** Tanggal......: 16-10-2005 ***
** Penjelasan...: Kumpulan fungsi untuk polling *** ***********************************************************/
// cegah pengaksesan langsung dari browser if ( eregi ( 'fungsi.php' , $_SERVER [ 'PHP_SELF' ]))
exit ( 'Error: Akses ditolak.' );
// fungsi untuk mengkoneksikan dengan MySQL server function konek_db () { // untuk username = userpoll dan password = poll123 @ $koneksi = mysql_connect ( 'localhost' , 'userpoll' , 'poll123' );
// jika gagal melakukan koneksi kembalikan false if (! $koneksi )
return false ; else { // pilih database yang digunakan mysql_select_db ( 'polling' ); return true ; } }
// fungsi untuk menyaring string selain alpabet, numerik dan _ function filter_str ( $string ) { $filter = ereg_replace ( '[^a-zA-Z0-9_]' , '' , $string ); return $filter ; }
// fungsi untuk mengenkripsi string dengan metode MD5 // dan membalik urutannya
function balik_md5 ( $string ) { // untuk membalik urutan string digunakan fungsi strrev() $chiper_text = strrev ( md5 ( $string ) ); return $chiper_text ; }
// fungsi untuk mengecek session function cek_session ( $nama_ses ) { // jika session kosong if (! isset ( $_SESSION [ $nama_ses ])) return false ; // kembalikan nilai false else // jika tidak kosong return true ; // kemblikan nilai true }
// fungsi untuk logout (menghapus session) function logout ( $nama_ses ) { // jika session kosong if (! isset ( $_SESSION [ $nama_ses ])) return false ; // kembalikan false else { // jika tidak kosong hancurkan session tersebut unset ( $_SESSION [ $nama_ses ]); session_destroy ();
return true ; // kembalikan nilai true } }
// fungsi untuk menampilkan daftar polling sesuai parameter function daftar_poll ( $tabel , $field ) { // lakukan query untuk mendapatkan daftar $hasil = mysql_query ( "SELECT * FROM $tabel " );
// tampilkan daftar dengan looping while ( $data = mysql_fetch_array ( $hasil )) { $daftar .= '<input type="radio" name="' . $field . '" value="' . $data [0]. '">' . $data [0]. '<br>' ; }
$daftar .= '<br><input type="submit" value="POLLING">' ;
// kembalikan hasil dari daftar return $daftar ; }
// fungsi untuk mengecek kecocokan alamat IP dan jenis polling function cek_ip ( $jenis_poll , $letak = 'log/ip.dat' ) { $ip_user = $_SERVER [ 'REMOTE_ADDR' ]; // dapatkan alamat ip user
// buka dengan file() untuk mengubah setiap baris menjadi array $daftar_ip = file ( $letak ); // hitung jumlah baris berguna untuk looping for $jml_baris = count ( $daftar_ip );
// lakukan looping untuk mencocokan setiap ip dan polling for ( $i =0; $i < $jml_baris ; $i ++) { $bagian = explode ('#-#' , $daftar_ip [ $i ]); // pecah setiap bagian $ip = $bagian [0]; // untuk alamat ip $nama_poll = $bagian [1]; // untuk jenis polling
// jika alamat IP dan jenis polling cocok maka ia pernah // mengikuti polling pada kategori tersebut // jadi kembalikan false
if ( ereg ( $ip_user , $ip ) && ereg ( $jenis_poll , $nama_poll )) return false ; }
return true ; // jika tidak ada kesalahan kembalikan true }
Sim pan pada direkt ori polling\ inc dengan nam a fu ngsi.ph p.