login  Naam:   Wachtwoord: 
Registreer je!
 Forum

poll fout

Offline gothmog - 17/07/2005 15:41
Avatar van gothmogLid ey
ik heb deze korte poll script, maar de fout is, je kant nog een tweede en derde en nog veel vaker stemmen, terwijl je eigelijk maar 1 keer MAG stemmen..., verder werkt alles goed

  1. <?php
  2. $vraag='Wat vind je van de site?';
  3. $antwoord1='Goed';
  4. $antwoord2='Redelijk';
  5. $antwoord3='Slecht';
  6.  
  7. $dbh=mysql_connect ("localhost", "******", "******") or die ('Cant Connect To DB' . mysql_error());
  8. mysql_select_db ("******");
  9.  
  10. function ip() {
  11. if(getenv("HTTP_X_FORWARDED_FOR")) {
  12. $IPadres = getenv("HTTP_X_FORWARDED_FOR");
  13. } elseif(getenv("HTTP_CLIENT_IP")) {
  14. $IPadres = getenv("HTTP_CLIENT_IP");
  15. } else {
  16. $IPadres = $_SERVER["REMOTE_ADDR"];
  17. }
  18. return $IPadres;
  19. }
  20.  
  21. $IP=ip();
  22.  
  23. if(isset($_POST['submit']))
  24. {
  25. $queryinsert="INSERT INTO poll (ip, antwoord) VALUES ('$IP', '$antwoord')";
  26. mysql_query($queryinsert) or die (mysql_error());
  27. }
  28.  
  29.  
  30. $query = "SELECT * FROM poll WHERE ip='$IP'";
  31. $resultaat = mysql_query($query) or die ("Er is iets mis met de database");
  32. $obj=mysql_fetch_object($resultaat);
  33.  
  34.  
  35. if ($obj->ip < 1) {
  36. echo "<form naam='poll' action='' method='POST'>
  37. $vraag <br>
  38. <input type='radio' name='antwoord' value='1'>$antwoord1<br>
  39. <input type='radio' name='antwoord' value='2'>$antwoord2<br>
  40. <input type='radio' name='antwoord' value='3'>$antwoord3<br>
  41. <input type='submit' value='Stem!' name='submit'></form>";
  42. } else {
  43. $query = mysql_query("SELECT * FROM poll");
  44. $row1 = mysql_query("SELECT * FROM poll WHERE antwoord='1' ");
  45. $row2 = mysql_query("SELECT * FROM poll WHERE antwoord='2' ");
  46. $row3 = mysql_query("SELECT * FROM poll WHERE antwoord='3' ");
  47. //het totaal votes van de antwoorden
  48. $total1 = mysql_num_rows($row1);
  49. $total2 = mysql_num_rows($row2);
  50. $total3 = mysql_num_rows($row3);
  51. $total = $total1+$total2+$total3;
  52. if ($total != 0)
  53. { $procent1a = round($total1 / $total * 100);
  54. $procent2a = round($total2 / $total * 100);
  55. $procent3a = round($total3 / $total * 100);
  56. }
  57. echo "$vraag<br>
  58. $antwoord1:<img height=\"12\" alt=\"$total1 votes\" width=\"$procent1a\" src=\"poll-balk.gif\">$procent1a%<br>
  59. $antwoord2:<img height=\"12\" alt=\"$total2 votes\" width=\"$procent2a\" src=\"poll-balk.gif\">$procent2a%<br>
  60. $antwoord3:<img height=\"12\" alt=\"$total3 votes\" width=\"$procent3a\" src=\"poll-balk.gif\">$procent3a%<br>
  61. Totaal: $total";
  62. }
  63. ?>

8 antwoorden

Gesponsorde links
Offline Martijn1989 - 17/07/2005 16:17
Avatar van Martijn1989 PHP ver gevorderde Moet je ff coockies zetten, als er gestemd is, als ze dan bestaan,.. dan mag je niet meer stemmen?
Offline gothmog - 17/07/2005 16:23
Avatar van gothmog Lid ik doe het zo:

als je stemt zet hij de ip in de database, als je de volgende keer op de pagina komt, kijkt ie of het ip adres al voorkomt, ja: niet meer stemmen, alleen resultaten bekijken. Nee: wel mogen stemmen...

maar als ik op submit druk, dan weergeeft ie de resultaten, als ik daarna weer op de pagina kom, weergeeft ie het stemgedeelte...
Offline jasperken - 17/07/2005 16:23
Avatar van jasperken PHP interesse vervang:
if ($obj->ip < 1) {

door
if(empty($obj->ip)){

denk ik 

Offline gothmog - 17/07/2005 16:26
Avatar van gothmog Lid nee... werkt niet, ik heb al weer 2 keer kunnen stemmen
Offline Micron - 17/07/2005 22:52
Avatar van Micron HTML beginner Misschien kan je een (uitgebreid) poll script zoeken...

waar je dus maar 1x mag stemmen, en dat stukje met de Cookies eruit halen...:D
Offline Ibrahim - 17/07/2005 22:55 (laatste wijziging 18/07/2005 00:25)
Avatar van Ibrahim PHP expert if(empty($obj->ip)){

kan toch ook met

edit:
  1. <?php
  2. if ($obj->ip== 0{
  3. //niet gestemd
  4.  
  5. }
  6. else
  7. {
  8.  
  9. //wel gestemd
  10. }
  11. ?>


Murfy was me voor 
had ff gekeken naar mijn pollscript en is hetzelfde als hierboven dus vorige post was fout 
Offline Maarten - 17/07/2005 23:45
Avatar van Maarten Erelid Je moet niet kijken of het bestaat, dat zal zowieso, ook al is ie leeg.

Je moet kijken adhv
  1. <?php
  2. if(mysql_num_rows($query_waar_je_die_dingen_ophaalt_met_ip_erin) == 0) {
  3. // niet gestemd
  4. } else {
  5. // al gestemd
  6. }
  7. ?>
Offline gothmog - 18/07/2005 10:33
Avatar van gothmog Lid eigelijk was ik vergeten te zeggen dat ik het al had opgelost (by myself) maar dat duurde nog wel even, ik had dat gedaan wat Murfy had...

kwam ik later pas achter hoe dat werkte...

maar bedankt allemaal!

greetz sven

-------------------closed-----------
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.212s