Membuat Polling dengan PHP tanpa MySQL

Mungkin bukan hal yang baru, tapi mungkin ada sebagian yang belum tahu. Polling adalah salah satu modul yang biasa digunakan sebagi modul tambahan di situs web atau blog. Bagi pengguna CMS, membuatnya tidaklah sulit karena hanya tinggal menginstall modul yang sudah ada. Nah bagi pengguna PHP, berikut langkah-langkah membuat polling tanpa lagi harus membuat databasenya.

Pertama, buat sebuah file berekstensi .dat di text editor notepad. Misalnya kita beri nama pilihan.dat. Kedalam file pilihan.dat, isikan data-data pollingnya.  Misalnya data-datanya adalah, PHP, Visual Basic, C++, Pascal, VB Net, dll seperti berikut:

Membuat Polling

Setelah file pilihan.dat selesai kita buat, buat file baru dengan nama hasil_polling.dat, masih di text editor notepad.File ini tidak perlu kita isikan apa-apa, atau kita biarkan saja kosong. Karena kedalam file ini nantinya akan tersimpan data-data hasil polling. Seperti ini:

Membuat Polling

Terakhir, kita buat script file yang akan menjalankan program polling tersebut. Kita beri nama polling.php.
Berikut scriptnya :

<?
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>
<?
$data_pilihan=”pilihan.dat”;
$hasil_polling=”hasil_polling.dat”;
if (!file_exists($hasil_polling)) {
$fopen=fopen($hasil_polling,”w+”);
fclose($hasil_polling);
}

$judul=”Bahasa Pemrograman yang paling kamu sukai ?”;
$file_data=file(“pilihan.dat”);
if ($go !=1)
{
echo “<font color=blue>$judul</font></center><br><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><input type=submit value=Polling>”;
echo “</form>”;
echo “<br><br><a href=’polling.php?result=1&go=1′><font size=2>Hasil Polling</a>”;
}
else
{
$file_hasil=fopen($hasil_polling, “r”);
$baris=fgets($file_hasil, 255);
$pisah=explode(“|”, $baris);
fclose($file_hasil);
if ($result!=1)
{
$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)
{
echo “<table cellpadding=10 border=1 >”;
echo “<tr><td align=center><font face=Verdana size=2>”;
echo “<i>Pilihan</i></font>”;
echo “</td><td align=center><font face=Verdana size=2>”;
echo “<i>%</i></font></td>”;
echo “<td align=center><font face=Verdana size=2>”;
echo “<i>Jumlah Pemilih</i></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>&nbsp;”;
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 “&nbsp;Total: $jumlah_pemilih pemilih”;
}
}
?>
</BODY>
</HTML>

Dan ini Hasilnya :

Membuat Polling

Nah, sekarang tinggal mencobanya ke Browser kamu. Mudah kan? Selamat Mencoba….

Be Sociable, Share!

    You may also like...

    2 Responses

    1. rizalblue says:

      gagal bro… yg muncul kyk gni

      Parse error: parse error, unexpected T_STRING in \\192.168.0.16\webfiles\files\2009-8\3172529\polling.php on line 21

    2. Hello there I am so glad I found your blog page, I really found you by accident, while I was looking on Aol
      for something else, Regardless I am here now and would just like
      to say thanks a lot for a marvelous post and a all round exciting blog (I also love the theme/design), I don’t have time to
      read it all at the moment but I have saved it and also added your RSS feeds,
      so when I have time I will be back to read more, Please do keep up the superb
      job.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.