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.