login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Poll/Stem systemen > 1 Pagina Poll

1 Pagina Poll

Auteur: Martijn1515 - 28 maart 2006 - 15:35 - Gekeurd door: nemesiskoen - Hits: 25988 - Aantal punten: 3.95 (10 stemmen)



Uitleg ---
Dit Poll Systeem, is een uniek systeem omdat het gebruik maakt van 1 bestand : poll.php en 1 database met 6 kolommen.

Poll : www.url.nl/poll.php

Admin Poll : www.url.nl/poll.php?action=inloggen
Gebruikersnaam : admin
Wachtwoord : admin


Installatie ---

Maak een database aan, en zet daar sql.sql in
Wijzig in poll.php, de Database gegevens.
Uploaden, en hij doet het.

Problemen ---
Reageer of stuur een PM.

Code:
Poll.php
  1. <?php
  2.  
  3.  
  4. /* Config */
  5.  
  6. // Aanpassen aan JOUW DB!
  7.  
  8. $DB = Array(
  9. "dbhost" => "localhost",
  10. "dbuser" => "******", // Database gebruiker
  11. "dbpas" => "******", // Database wachtwoord
  12. "dbname" => "******" // Database naam
  13. );
  14.  
  15. /* Mysql connectie maken */
  16. mysql_connect($DB['dbhost'],$DB['dbuser'],$DB['dbpas']) or die ("<CODE>Sorry, connectie is verbroken.</CODE>");
  17. mysql_select_db($DB['dbname']) or die ("<CODE>Sorry, connectie is verbroken.</CODE>");
  18.  
  19.  
  20. $admingebruikersnaam = "admin"; // Naam van de Admin
  21. $adminwachtwoord = "admin"; // Het wachtwoord van de Admin
  22.  
  23. $action = $_GET['action'];
  24. $tabel = "poll"; // Tabel waar de poll in staat
  25. echo "<LINK REL='stylesheet' HREF='style.css' TYPE='text/css'>";
  26.  
  27. //Inloggen
  28. if($_SESSION['gebruikersnaam'] == $admingebruikersnaam && $_SESSION['wachtwoord'] == $adminwachtwoord) {
  29.  
  30. $ingelogd = 1;
  31.  
  32. } else {
  33.  
  34. $ingelogd = 0;
  35.  
  36. }
  37.  
  38.  
  39. /* Config */
  40.  
  41.  
  42. /* Function voor de Poll */
  43.  
  44. function poll()
  45. {
  46. $tabel = "poll"; // Tabel waar de poll in staat
  47.  
  48. //
  49.  
  50. $select = mysql_query("SELECT * FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  51. $obj = mysql_fetch_assoc($select);
  52. $id = $obj['id'];
  53.  
  54. $select = mysql_query("SELECT * FROM `$tabel` WHERE `ip` LIKE '%". $_SERVER['REMOTE_ADDR'] ."%' AND `id` = '$id' ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  55. $aantal = mysql_num_rows($select);
  56. $obj = mysql_fetch_assoc($select);
  57.  
  58. //
  59. if($aantal > 0) {
  60.  
  61. echo pollresultaat();
  62.  
  63. } else {
  64.  
  65. echo pollstemmen();
  66.  
  67. }
  68.  
  69. }
  70.  
  71. function pollstemmen()
  72. {
  73. $tabel = "poll"; // Tabel waar de poll in staat
  74.  
  75. if(isset($_POST['submit'])) {
  76.  
  77. $select = mysql_query("SELECT * FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  78. $obj = mysql_fetch_assoc($select);
  79. $id = $obj['id'];
  80.  
  81. $select = mysql_query("SELECT * FROM `$tabel` WHERE `ip` LIKE '%". $_SERVER['REMOTE_ADDR'] ."%' AND `id` = '$id' ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  82. $aantal = mysql_num_rows($select);
  83. $obj = mysql_fetch_assoc($select);
  84.  
  85. $select = mysql_query("SELECT * FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  86. $obj = mysql_fetch_assoc($select);
  87.  
  88. if($aantal > 0) {
  89.  
  90. echo "Je hebt al gestemd!<br><br>";
  91. echo pollresultaat();
  92.  
  93. } else {
  94.  
  95. $stem = $_POST['radio'];
  96.  
  97. $a = $obj['stemmen'];
  98. $totalb = count(explode(",", $a));
  99. $b = explode(",", $a);
  100.  
  101.  
  102. $b[$stem] = $b[$stem] + 1;
  103.  
  104. $i = 0;
  105. $i2 = 1;
  106.  
  107. while($i < $totalb) {
  108.  
  109. $stem2 .= $b[$i];
  110.  
  111. if($i2 < $totalb) {
  112.  
  113. $stem2 .= ",";
  114.  
  115. }
  116. $i++;
  117. $i2++;
  118. }
  119.  
  120. mysql_query("UPDATE `$tabel` SET `stemmen` = '$stem2', `ip` = CONCAT(ip,' " . $_SERVER['REMOTE_ADDR'] . "') ORDER BY `id` DESC LIMIT 1")or die(Mysql_Error());
  121. echo pollresultaat();
  122. }
  123.  
  124. } else {
  125.  
  126. $select = mysql_query("SELECT * FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  127. $aantal = mysql_num_rows($select);
  128.  
  129. if($aantal == 1) {
  130.  
  131. $obj = mysql_fetch_assoc($select);
  132.  
  133. $a = $obj['antwoorden'];
  134. $totala = count(explode(",", $a));
  135. $a = explode(",", $a);
  136.  
  137. $b = $obj['stemmen'];
  138. $totalb = count(explode(",", $b));
  139. $b = explode(",", $b);
  140. $totalc = array_sum($b);
  141.  
  142. if($totala == $totalb) {
  143.  
  144. echo $obj['vraag'] ." (". $totalc .")<br>";
  145. echo "<table><form action='' method='post'>";
  146.  
  147. $i = 0;
  148. while($i < $totala) {
  149.  
  150. $antwoord = $a[$i];
  151. $stemmen = $b[$i];
  152. echo "<tr><td><input name='radio' type='radio' class='radio' value='". $i ."'> ". $antwoord ." (". $stemmen .")</td>";
  153.  
  154. if($stemmen == 0) {
  155. echo "<td><img src='vol.jpg' width='1' height='10'><img src='leeg.jpg' width='99' height='10'></td></tr>";
  156. } else {
  157. $score = round(100 / $totalc * $stemmen,0);
  158. $af = 100 - $score;
  159. echo "<td><img src='vol.jpg' width='". $score ."' height='10'><img src='leeg.jpg' width='". $af ."' height='10'></td></tr>";
  160. }
  161.  
  162. $i++;
  163. }
  164. echo "<tr><td colspan='2'><input type='submit' value='Stem' name='submit'></td></tr></table>";
  165. } else {
  166.  
  167. echo "Error";
  168.  
  169. }
  170.  
  171. } else {
  172.  
  173. echo "Er is op dit moment nog geen poll.";
  174. }
  175. }
  176. }
  177.  
  178.  
  179. function pollresultaat()
  180. {
  181.  
  182. $tabel = "poll"; // Tabel waar de poll in staat
  183. $select = mysql_query("SELECT * FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  184. $aantal = mysql_num_rows($select);
  185.  
  186. if($aantal == 1) {
  187.  
  188. $obj = mysql_fetch_assoc($select);
  189.  
  190. $a = $obj['antwoorden'];
  191. $totala = count(explode(",", $a));
  192. $a = explode(",", $a);
  193.  
  194. $b = $obj['stemmen'];
  195. $totalb = count(explode(",", $b));
  196. $b = explode(",", $b);
  197. $totalc = array_sum($b);
  198.  
  199. if($totala == $totalb) {
  200.  
  201. echo $obj['vraag'] ." (". $totalc .")<br>";
  202. echo "<table>";
  203.  
  204. $i = 0;
  205. while($i < $totala) {
  206.  
  207. $antwoord = $a[$i];
  208. $stemmen = $b[$i];
  209. echo "<tr><td>". $antwoord ." (". $stemmen .")</td>";
  210.  
  211. if($stemmen == 0) {
  212. echo "<td><img src='vol.jpg' width='1' height='10'><img src='leeg.jpg' width='99' height='10'></td></tr>";
  213. } else {
  214. $score = round(100 / $totalc * $stemmen,0);
  215. $af = 100 - $score;
  216. echo "<td><img src='vol.jpg' width='". $score ."' height='10'><img src='leeg.jpg' width='". $af ."' height='10'></td></tr>";
  217. }
  218.  
  219. $i++;
  220. }
  221. echo "</table>";
  222. } else {
  223.  
  224. echo "Error";
  225.  
  226. }
  227.  
  228. } else {
  229.  
  230. echo "Er is op dit moment nog geen poll.";
  231. }
  232. }
  233.  
  234. /* Function voor de Poll */
  235.  
  236.  
  237. /* Poll */
  238. if($action == "") {
  239.  
  240. echo poll();
  241.  
  242.  
  243. } elseif($action == "inloggen") {
  244.  
  245.  
  246. if($ingelogd == 0) {
  247.  
  248. if(isset($_POST['submit'])) {
  249.  
  250. if(empty($_POST['gebruikersnaam'])) {
  251.  
  252. echo "Vul een gebruikersnaam in! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  253.  
  254. } elseif(empty($_POST['wachtwoord'])) {
  255.  
  256. echo "Vul een wachtwoord in! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  257.  
  258. } elseif($_POST['gebruikersnaam'] != $admingebruikersnaam) {
  259.  
  260. echo "Vul de juiste gebruikersnaam in! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  261.  
  262. } elseif($_POST['wachtwoord'] != $adminwachtwoord) {
  263.  
  264. echo "Vul het juiste wachtwoord in! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  265.  
  266. } else {
  267.  
  268. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  269. $_SESSION['gebruikersnaam'] = $_POST['gebruikersnaam'];
  270. $_SESSION['wachtwoord'] = $_POST['wachtwoord'];
  271.  
  272. echo "Welkom ". $_POST['gebruikersnaam'] .", een ogenblik geduld alstubliefd.";
  273.  
  274. echo "<meta http-equiv='refresh' content='3;url=poll.php?action=admin'>";
  275.  
  276. }
  277.  
  278. } else {
  279. ?>
  280. <form action='' method='post'>
  281. <table>
  282. <tr><td>Gebruikersnaam :</td><td><input name='gebruikersnaam' type="text" value=""></td></tr>
  283. <tr><td>Wachtwoord :</td><td><input name='wachtwoord' type="password" value=""></td></tr>
  284. <tr><td colspan='2'><input type="submit" value="Inloggen!" name='submit'> <input type="reset" value="Leeg maken!"></td></tr>
  285. </table>
  286. </form>
  287. <?
  288. }
  289.  
  290. } else {
  291.  
  292. echo "Je bent al ingelogd! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  293.  
  294. }
  295.  
  296. } elseif($action == "uitloggen") {
  297.  
  298. if($ingelogd == 1) {
  299.  
  300. $_SESSION = array();
  301.  
  302. echo "Je bent nu uitgelogd. Nog een fijne dag.";
  303.  
  304. } else {
  305.  
  306. echo "Je bent nog niet ingelogd! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  307.  
  308. }
  309.  
  310. } elseif($action == "admin") {
  311. if($ingelogd == 1) {
  312.  
  313. $level = $_GET['level'];
  314.  
  315. if($level == "") {
  316.  
  317. echo "Welkom ". $_SESSION['gebruikersnaam'] .", kies uit het menu.<br><br>";
  318.  
  319. echo "<a href='poll.php?action=admin&level=nieuw'>Maak een nieuwe poll aan</a><br>";
  320. echo "<a href='poll.php?action=admin&level=bewerk'>Bewerk de poll</a><br>";
  321. echo "<a href='poll.php?action=admin&level=verwijder'>Verwijder de poll</a><br>";
  322. echo "<a href='poll.php?action=admin&level=verwijderall'>Verwijder alle polls in het archief</a><br><br>";
  323.  
  324. echo "<a href='poll.php?action=uitloggen'>Uitloggen</a><br><br>";
  325.  
  326. echo poll();
  327.  
  328. } elseif($level == "nieuw") {
  329.  
  330.  
  331. if(isset($_POST['voegtoe'])) {
  332.  
  333. if(empty($_POST['vraag'])) {
  334.  
  335. echo "Vul een vraag in! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  336.  
  337. } else {
  338.  
  339. $aantal = $_POST['aantal'];
  340. $vraag = $_POST['vraag'];
  341.  
  342. $i = 1;
  343. while($i <= $aantal) {
  344.  
  345. $antwoord .= $_POST[$i];
  346. $stem .= "0";
  347.  
  348. if($i < $aantal) {
  349.  
  350. $antwoord .= ",";
  351.  
  352. }
  353. if($i < $aantal) {
  354.  
  355. $stem .= ",";
  356.  
  357. }
  358.  
  359. $i++;
  360. }
  361. $tijd = time();
  362. mysql_query("INSERT INTO `$tabel` (vraag,antwoorden,stemmen,datum) VALUES ('". $vraag ."', '". $antwoord ."', '". $stem ."', '". $tijd ."')") or die (Mysql_Error());
  363. echo "De nieuwe poll is in de database opgeslagen. Een ogenblik geduld alstubliefd.";
  364.  
  365. echo "<meta http-equiv='refresh' content='3;url=poll.php?action=admin'>";
  366. }
  367.  
  368. } else {
  369. $aantal = $_POST['aantal'];
  370.  
  371. if($aantal == "" OR !is_numeric($aantal)) {
  372.  
  373. echo "Hoeveel antwoorden heb je nodig?";
  374.  
  375. echo "<form action='' method='post'>";
  376. echo "<select size='1' name='aantal'>";
  377. echo "<option value=''></option>";
  378.  
  379. $i = 2;
  380. while($i <= 25) {
  381.  
  382. echo "<option value='". $i ."'>". $i ."</option>";
  383. $i++;
  384. }
  385. echo "</select><br>";
  386. echo "<input type='submit' value='Ga Veder' name='submit'>";
  387. echo "</form>";
  388.  
  389. } else {
  390. ?>
  391. <form action='' method='post'>
  392. <input name="aantal" type="hidden" value="<?php echo $aantal; ?>">
  393. <table>
  394. <tr><td>Vraag :</td><td><input name="vraag" type="text" value="" maxlength='100'></td></tr>
  395. <?
  396. $i = 1;
  397. while($i <= $aantal) {
  398.  
  399. echo "<tr><td>Antwoord ". $i ." :</td><td><input name='". $i ."' type='text' value=''></td></tr>";
  400.  
  401. $i++;
  402. }
  403.  
  404. ?>
  405. <tr><td colspan='2'><input type="submit" value="Voeg Toe!" name="voegtoe"> <input type="reset" value="Leeg Maken!"></td></tr>
  406. </table>
  407. </form>
  408.  
  409. <?
  410. }
  411. }
  412.  
  413.  
  414. } elseif($level == "bewerk") {
  415.  
  416. $select = mysql_query("SELECT * FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  417. $aantal = mysql_num_rows($select);
  418. $obj = mysql_fetch_assoc($select);
  419.  
  420. if($aantal > 0) {
  421.  
  422. if(isset($_POST['submit'])) {
  423.  
  424. if(empty($_POST['vraag'])) {
  425.  
  426. echo "Vul wel een vraag in! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  427.  
  428. } else {
  429.  
  430. $aantal = $_POST['aantal'];
  431. $vraag = $_POST['vraag'];
  432.  
  433. $i = 1;
  434. while($i <= $aantal) {
  435.  
  436. $antwoord .= $_POST[$i];
  437.  
  438. if($i < $aantal) {
  439.  
  440. $antwoord .= ",";
  441.  
  442. }
  443.  
  444. $i++;
  445. }
  446. $tijd = time();
  447. mysql_query("UPDATE `$tabel` SET `vraag` = '$vraag', `antwoorden` = '$antwoord' WHERE id = '". $obj['id'] ."'") or die (Mysql_Error());
  448. echo "De poll is bewerkt en in de database opgeslagen. Een ogenblik geduld alstubliefd.";
  449.  
  450. echo "<meta http-equiv='refresh' content='3;url=poll.php?action=admin'>";
  451. }
  452.  
  453. } else {
  454.  
  455.  
  456. $a = $obj['antwoorden'];
  457. $total = count(explode(",", $a));
  458. $a = explode(",", $a);
  459.  
  460. ?>
  461. <form action='' method='post'>
  462. <input name="aantal" type="hidden" value="<?php echo $total; ?>">
  463. <table>
  464. <tr><td>Vraag :</td><td><input name="vraag" type="text" value="<?php echo $obj['vraag']; ?>" maxlength='100'></td></tr>
  465. <?
  466. $i = 1;
  467. $i2 = 0;
  468. while($i <= $total) {
  469.  
  470. $antwoord = $a[$i2];
  471. echo "<tr><td>Antwoord ". $i ." :</td><td><input name='". $i ."' type='text' value='". $antwoord ."'></td></tr>";
  472.  
  473. $i++;
  474. $i2++;
  475. }
  476. ?>
  477. <tr><td colspan='2'><input type="submit" value="Bewerk!" name="submit"> <input type="reset" value="Reset!"></td></tr>
  478. </table>
  479. </form>
  480.  
  481. <?
  482. }
  483. } else {
  484.  
  485. echo "Er bestaat nog geen poll.";
  486.  
  487. }
  488.  
  489. } elseif($level == "verwijder") {
  490.  
  491. if(isset($_POST['ja'])) {
  492.  
  493. mysql_query("DELETE FROM `$tabel` ORDER BY `id` DESC LIMIT 1") or die (Mysql_Error());
  494. echo "Je hebt de laatste poll verwijderd. Een ogenblik geduld alstubliefd.";
  495. echo "<meta http-equiv='refresh' content='3;url=poll.php?action=admin'>";
  496.  
  497. } elseif(isset($_POST['nee'])) {
  498.  
  499. echo "<meta http-equiv='refresh' content='0;url=poll.php?action=admin'>";
  500.  
  501. } else {
  502.  
  503. ?>
  504. Weet je zeker dat je de laatste poll uit het archief wilt verwijderen?<br>
  505. <form action='' method='post'> <input type="submit" value="Ja" name='ja'> <input type="submit" value="Nee" name='nee'> </form>
  506. <?
  507. }
  508.  
  509. } elseif($level == "verwijderall") {
  510.  
  511. if(isset($_POST['ja'])) {
  512.  
  513. mysql_query("DELETE FROM `$tabel`") or die (Mysql_Error());
  514. echo "Je hebt alle polls verwijderd. Een ogenblik geduld alstubliefd.";
  515. echo "<meta http-equiv='refresh' content='3;url=poll.php?action=admin'>";
  516.  
  517. } elseif(isset($_POST['nee'])) {
  518.  
  519. echo "<meta http-equiv='refresh' content='0;url=poll.php?action=admin'>";
  520.  
  521. } else {
  522.  
  523. ?>
  524. Weet je zeker dat je alle poll's uit het archief wilt verwijderen?<br>
  525. <form action='' method='post'> <input type="submit" value="Ja" name='ja'> <input type="submit" value="Nee" name='nee'> </form>
  526. <?
  527. }
  528.  
  529. }
  530.  
  531.  
  532. } else {
  533.  
  534. echo "Je bent nog niet ingelogd! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  535.  
  536. }
  537.  
  538. } else {
  539.  
  540. echo "Fout! <a href='javascript:history.go(-1)'>Ga terug</a>.";
  541.  
  542. }
  543. /* Poll */
  544. ?>


Sql.sql
  1. -- Tabel structuur voor tabel `poll`
  2.  
  3. CREATE TABLE `poll` (
  4. `id` int(11) NOT NULL auto_increment,
  5. `vraag` varchar(100) NOT NULL default '',
  6. `antwoorden` text NOT NULL,
  7. `stemmen` text NOT NULL,
  8. `ip` text NOT NULL,
  9. `datum` int(20) NOT NULL default '0',
  10. PRIMARY KEY (`id`)
  11. ) TYPE=MyISAM AUTO_INCREMENT=2 ;
  12.  
  13. --
  14. -- Gegevens worden uitgevoerd voor tabel `poll`
  15. --
  16.  
  17. INSERT INTO `poll` VALUES (1, 'Wat vind je van deze poll?', 'Geweldig,Gaaf,Gaat,Minder', '0,0,0,0', '', 1143552256);


Style.css
  1. body,table {
  2. font: 8pt arial;
  3. color: #000000;
  4. font-weight: normal;
  5. background-color: #EEEEEE;
  6. scrollbar-base-color: #EEEEEE;
  7. scrollbar-track-color: #FFFFFF;
  8. scrollbar-face-color: #EEEEEE;
  9. scrollbar-highlight-color: #FFFFFF;
  10. scrollbar-3d-light-color: #EEEEEE;
  11. scrollbar-darkshadow-color: #C0C0C0;
  12. scrollbar-shadow-color: #CCCCCC;
  13. scrollbar-arrow-color: #FFFFFF;
  14. }
  15. a:link {
  16. color: #000000;
  17. text-decoration: underline;
  18. }
  19. a:visited {
  20. color: #000000;
  21. text-decoration: underline;
  22. }
  23. a:hover {
  24. color: #292929;
  25. text-decoration: underline;
  26. }
  27. a:active {
  28. color: #383838;
  29. text-decoration: none;
  30. }
  31. html {
  32. scrollbar-base-color: #000000;
  33. scrollbar-3dlight-color: #CCCCCC;
  34. scrollbar-arrow-color: #000000;
  35. scrollbar-darkshadow-color: #CCCCCC;
  36. scrollbar-face-color: #FFFFFF;
  37. scrollbar-highlight-color: #000000;
  38. scrollbar-shadow-color: #000000;
  39. scrollbar-track-color: #E8E4D8;
  40. }
  41.  
  42. input {
  43. border: 1px solid black;
  44. font-family: Arial;
  45. font-size: 8pt;
  46. color: #000000;
  47. background-color: #C0C0C0;
  48. }
  49. radio {
  50. border: 1px solid black;
  51. font-size: 8pt;
  52. color: #000000;
  53. background-color: #C0C0C0;
  54. }
  55. textarea {
  56. border: 1px solid black;
  57. font-family: Arial;
  58. font-size: 8pt;
  59. color: #000000;
  60. background-color: #C0C0C0;
  61. }
  62. select {
  63. border: 1px solid black;
  64. font-family: Arial;
  65. font-size: 8pt;
  66. color: #000000;
  67. background-color: #C0C0C0;
  68. }
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (31)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.097s