Loading halaman Tutorial Visual Basic, Delphi, PHP - Calon Programer : Membuat Polling lewat PHP tanpa MySQL ...

Pertama buatlah file dengan nama pilihan.dat 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.dat 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
  1. <? 
  2. /* ini berfungsi untuk register global variable PHP 
  3. terutama mereka yang menggunakan register_global = off 
  4. bila register_global = on tidak perlu menggunkan script ini 
  5. untuk mengatur register_global periksa pada php.ini 
  6. /* 
  7. extract($_SERVER,"EXTR_PREFIX_SAME"); 
  8. extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME"); 
  9. extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME"); 
  10. extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME"); 
  11. ?> 
  12. <HTML> 
  13. <HEAD> 
  14. <TITLE>Polling</TITLE> 
  15. </HEAD> 
  16. <BODY> 
  17. <? 
  18. //variable file 
  19. $data_pilihan="pilihan.dat"; 
  20. $hasil_polling="hasil_polling.dat"; 
  21. if (!file_exists($hasil_polling)) { 
  22. $fopen=fopen($hasil_polling,"w+"); 
  23. fclose($hasil_polling); 
  24. } 
  25. /* gambar/image untuk hasil polling 
  26. kamu bisa mengganti sesuka kamu dengan syarat ukuran file harus lebar 100x10 
  27. pixel 
  28. */ 
  29. $gambar="persen.gif"
  30. $judul="Peraih scudetto 2000/2001 ?"
  31. //proses polling 
  32. $file_data=file("pilihan.dat"); 
  33. //tampilan form polling jika tombol poling belum di pilih 
  34. if ($go !=1) 
  35. echo "<center><i>$judul</i></center><br>\n"
  36. echo "<form method=post>"
  37. for ($i=0; $i<=count($file_data)-1; $i++) 
  38. echo "<input type=radio name=\"vote\" value=\"$i\"> 
  39. $file_data[$i]<br>\n"
  40. echo "<input type=hidden name=go value=1>"
  41. echo "<p><center><input type=submit value=Polling>"
  42. echo "</form>"
  43. echo "<a href='polling.php?result=1&go=1'>Hasil Polling</a></center>"
  44. else 
  45. //membaca hasil poling sebelumnya 
  46. $file_hasil=fopen($hasil_polling, "r"); 
  47. $baris=fgets($file_hasil, 255); 
  48. $pisah=explode("|", $baris); 
  49. fclose($file_hasil); 
  50. if ($result!=1) 
  51. //menambah dan memasukan nilai polling 
  52. $ficdest=fopen($hasil_polling, "w"); 
  53. for ($i=0; $i<=count($file_data)-1; $i++) 
  54. if ($i == $vote
  55. $pisah[$i]+=1; 
  56. fputs($ficdest, "$pisah[$i]|"); 
  57. fclose($ficdest); 
  58. $result=1; 
  59. if ($result==1) 
  60. //menampilkan hasil polling 
  61. echo "<table cellpadding=10>"
  62. echo "<tr><td align=center><font face=Verdana size=2>"
  63. echo "<i>Pilihan</i></font>"
  64. echo "</td><td align=center><font face=Verdana size=2>"
  65. echo "<i>%</i></font></td>"
  66. echo "<td align=center><font face=Verdana size=2>"
  67. echo "<i>Jumlah Pemilih</i></font></td></tr>"
  68. for ($i=0; $i<=count($file_data)-1; $i++) 
  69. $jumlah_pemilih+=$pisah[$i]; 
  70. for ($i=0; $i<=count($file_data)-1; $i++) 
  71. $persen[$i]=$pisah[$i]/$jumlah_pemilih*100; 
  72. echo "<tr><td><li><font face=Verdana size=2>"
  73. echo "$file_data[$i]</font></td><td align=left><font face=Verdana 
  74. size=2>"
  75. echo "<img src=\"$gambar\" height=10 width=$persen[$i] 
  76. align=middle>&nbsp;"
  77. printf("%.1f", "$persen[$i]"); 
  78. echo "%</font></td><td align=center><font face=Verdana size=2>"
  79. echo "$pisah[$i]</font>"
  80. echo "</td></tr>"
  81. echo "</table><p>"
  82. echo "<center>Total: $jumlah_pemilih pemilih</center>"
  83. ?> 
  84. </BODY> 
  85. </HTML> 
script ini hasil modifikasi dari buku Yudhi Purwanto, Pemrograman Web dengan PHP, Elex Media
Komputindo. 2001
dengan beberapa penyempurnaan berdasarkan penyesuaian keadaan sekarang.
Semoga Bermanfaat Smile

Tagg :

0 Reply :

Posting Komentar

Jika ada pertanyaan atau request,Komentar pada tab blogger akan lebih memudahkan saya untuk membalasnya karena lebih mudah melakukan pengecekan komentar.