Buscar

Membuat Polling lewat PHP tanpa MySQL

Kali ini kita belajar tentang membuat program polling sederhana tanpa menggunakan database.
Pertama buatlah file dengan nama pilihan.txt lewat text editor notepad. Dalam file tersebut masukan
data untuk pilihan polling, contoh :
AC Milan
Juventus
Inter Milan
AS Roma
Lazio
Fiorentina
Napoli
Lainnya
Buat juga satu file dengan nama hasil_polling.txt dan biarkan kosong, file ini untuk menyimpan hasil
dari polling.
Kemudian buat satu script php dalam file yang namanya polling.php
Berikut adalah script dalam polling.php.
<?
/* ini berfungsi untuk register global variable PHP
terutama mereka yang menggunakan register_global = off
bila register_global = on tidak perlu menggunkan script ini
untuk mengatur register_global periksa pada php.ini
*/
extract($_SERVER,"EXTR_PREFIX_SAME");
extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME");
?>
<html>
<head>
<title>Polling</title>
</head>
<body>
<?
//variable file
$data_pilihan="pilihan.txt";
$hasil_polling="hasil_polling.txt";
if (!file_exists($hasil_polling)) {
$fopen=fopen($hasil_polling,"w+");
fclose($hasil_polling);
}
/* gambar/image untuk hasil polling
kamu bisa mengganti sesuka kamu dengan syarat ukuran file harus lebar 100x10
pixel
*/
$gambar="gambar.png";
$judul="Peraih scudetto 2000/2001 ?";
//proses polling
$file_data=file("pilihan.txt");
//tampilan form polling jika tombol poling belum di pilih
if ($go !=1)
{
echo "<center><i>$judul</i></center><br>\n";
echo "<form method=post>";
for ($i=0; $i<=count($file_data)-1; $i++)
{
	echo "<input type=radio name=\"vote\" value=\"$i\">
	$file_data[$i]<br>\n";
}
echo "<input type=hidden name=go value=1>";
echo "<p><center><input type=submit value=Polling>";
echo "</form>";
echo "  <a href='polling.php?result=1&go=1'>Hasil Polling</a></center>";
}
else
{
//membaca hasil poling sebelumnya
$file_hasil=fopen($hasil_polling, "r");
$baris=fgets($file_hasil, 255);
$pisah=explode("|", $baris);
fclose($file_hasil);
if ($result!=1)
{
//menambah dan memasukan nilai polling
$ficdest=fopen($hasil_polling, "w");
for ($i=0; $i<=count($file_data)-1; $i++)
{
if ($i == $vote)
{
$pisah[$i]+=1;
}
fputs($ficdest, "$pisah[$i]|");
}
fclose($ficdest);
$result=1;

}
if ($result==1)
{
?>
//menampilkan hasil polling

<table cellpadding=10 border=1 bordercolor='#FF66CC'>
		<tr><td align=center><font face=Verdana size=2>
		<strong>Pilihan</strong></font>
		</td><td align=center><font face=Verdana size=2>
		<strong>%</strong></font></td>
		<td align=center><font face=Verdana size=2>
		<strong>Jumlah Pemilih</strong></font></td></tr>
<?

for ($i=0; $i<=count($file_data)-1; $i++)
{
$jumlah_pemilih+=$pisah[$i];
}
for ($i=0; $i<=count($file_data)-1; $i++)
{
$persen[$i]=$pisah[$i]/$jumlah_pemilih*100;
echo "<tr><td><li><font face=Verdana size=2>";
echo "$file_data[$i]</font></td><td align=left><font face=Verdana size=2>";
echo "<img src=\"$gambar\" height=10 width=$persen[$i] align=middle> ";
printf("%.1f", "$persen[$i]");
echo "%</font></td><td align=center><font face=Verdana size=2>";
echo "$pisah[$i]</font>";
echo "</td></tr>";
}
echo "</table><p>";
echo "<center>Total: $jumlah_pemilih pemilih</center>";
}
}
?>
</body>
</html>
Formnya seperti di bawah ini : 
ini adalah halaman hasil pollingnya : 

Script ini hasil modifikasi dari Stieven R. Kalengkian, Tips dan Trik IlmuKomputer.Com dengan beberapa penyempurnaan berdasarkan penyesuaian keadaan sekarang. Selamat Mencoba :)

1 comments:

Fadhil Hayat

Assalamu alaikum,
Saya sudah mencoba script membuat polling dengan php dan alhamdulillah berhasil. Saya mencoba mengembangkan dengan pilihan lebih dari satu dengan mengubah input menjadi checkbox, tapi ternyata hasil pollingnya tidak berubah (hanya satu yg bertambah), mohon pencerahannya
Wassalam

Posting Komentar