login  Naam:   Wachtwoord: 
Registreer je!
 Forum

sessie of cookies

Offline remy - 31/08/2004 11:15
Avatar van remyPHP ver gevorderde aangezien de oude weg is vraag ik het nog een keer ;)

wat is beter om te gebruiken? sessis of cookies?
wat is makkelijker?

Ik wilde het gebruiken voor een poll

42 antwoorden

Gesponsorde links
Offline Hans - 31/08/2004 11:17
Avatar van Hans HTML beginner Volgens mij is het makkelijkst ze te combineren.
Lees FangorN's tutorial over sessies:
http://www.site...4&id=4
Offline Wijnand - 31/08/2004 11:22
Avatar van Wijnand Moderator sessies is over het algemeen veiliger. Maar als je het voor een poll gaat gbruiken kun je twee dingen doen (nog wel meer ook maar deze twee zou ik doen).

1. je maakt hem met cookies
2. als je een ledensysteem hebt, zorgt je ervoor dat alle leden maar één keer kunnen stemmen.
Offline remy - 31/08/2004 11:25
Avatar van remy PHP ver gevorderde ik wilde elke maand een nieuwe poll, en als dan iemand gestemt heeft dat die niet meer mag stemmen tot de nieuwe poll er is, dus het cookie of sessie moet dan verwijderd worden.

als dat kan tenminste
Offline Hans - 31/08/2004 11:26
Avatar van Hans HTML beginner Ik zou toch eerst de inleiding van die sessie-tutorial eens doorlezen, dan heb je misschien beter zicht op wat je er nu mee kan en niet.

Zelf zou ik hem met cookies maken.
Offline Wijnand - 31/08/2004 11:26
Avatar van Wijnand Moderator dat kan ja... als je het met cookies doen dan kun je bv een id of naam meegeven aan de poll die elke keer anders is.

en als je het met een ledensysteem doet kun je gewoon een script schrijven dat de poll-votes op 0 komen te staan.
Offline remy - 31/08/2004 11:30
Avatar van remy PHP ver gevorderde ik heb geen ledensysteem maar ik zal eerst eens de les cookies doornemen:D ;)
Offline wouter - 31/08/2004 11:35
Avatar van wouter PHP interesse je kan dit niet doen met sessies, tenzij je met een ledensysteem werkt (maar dan werk je met een variabele invoeren in de db als hij-zij gestemd heeft)
een poll moet je wel met cookies doen
opmerking: je moet namelijk je sessie zo lang maken dat je een cookie nodig hebt (zoals sitemasters nu doet met bvb 1 jaar lang ingelogd blijven) ;)
Offline XenoX - 31/08/2004 11:41
Avatar van XenoX Gouden medailleGouden medaille

PHP expert
Ik zou het ip en pollid opslaan in een database.
En bij het controleren kijken of het ip al in de database staat.
Offline Hans - 31/08/2004 11:43
Avatar van Hans HTML beginner en bezoekers met een dynamisch ip dan?
Offline wouter - 31/08/2004 11:44
Avatar van wouter PHP interesse zoals ik al zei, je kan het enkel met cookies doen (dit is het gemakkelijkst )
Offline remy - 31/08/2004 11:45
Avatar van remy PHP ver gevorderde het is een poll die op elke pagina te zien is..
ik gebruik geen mysql maar misschien kun je het cookie in elke pagina weer opvragen 
Offline wouter - 31/08/2004 11:51
Avatar van wouter PHP interesse nee hoor
je doet dat met een include,
dus dan heb je maar 1 pagina nodig die je gewoon include en die het cookie opzoekt ;)
Offline remy - 31/08/2004 11:52
Avatar van remy PHP ver gevorderde ow ja natuurlijk niet aan gedacht he:lamp:
Offline remy - 31/08/2004 11:57
Avatar van remy PHP ver gevorderde maare waar kan ik die cookis terugvinden volgens mij in de map cookis maar daar staat niks.
Offline wouter - 31/08/2004 11:59
Avatar van wouter PHP interesse je kan die opvragen door $_COOKIE['var']
en idd normaal moet die in de map cookies staat -> hoewel windows wel eens verschillende van die mappen kan hebben, het best doe je gewoon
  1. set_cookie() or die ("cookie niet geset")

dan kan je zien of die cookie werkelijk geset wordt
Offline remy - 31/08/2004 12:41
Avatar van remy PHP ver gevorderde ik heb een tutorial doorgelezen en dit heb ik er van gemaakt, kan dit zo wel? :S

  1. <?php
  2. if(setcookie(time() + 3600*24*30))
  3. {
  4. $button=" ";
  5. }
  6. else
  7. {
  8. $button="<input type=submit name=verzenden value=Stem>";
  9. }
  10. ?>
Offline wouter - 31/08/2004 12:47
Avatar van wouter PHP interesse nou je kan het inderdaad zo doen 
bij mijn eigen poll laat ik de resultaten weergeven als de cookie geset is maar dit is ook wel goed, hoewel ik dan niet snap waar je resultaten zijn ;)
Offline cowbeast - 31/08/2004 12:49
Avatar van cowbeast Onbekend Ja ik zou ook wel voor een cookie gaan lijkt mij het best voor een poll!!:cool:
Offline remy - 31/08/2004 12:51
Avatar van remy PHP ver gevorderde de hele poll staat op een pagina, dus de resultaten en de stemknop.
Offline remy - 31/08/2004 12:59
Avatar van remy PHP ver gevorderde maare als je gestemt hebt en je drukt op de refresh knop dan bijft ie gewoon doortellen :S:'(
Offline robmoorman - 31/08/2004 13:25
Avatar van robmoorman PHP interesse niet iedereen heeft coockies aceptere aanstaan... IP is het handigst
Offline Wijnand - 31/08/2004 13:26
Avatar van Wijnand Moderator mwah, sommige mensen hebben een "wissel-ip".
Offline webbiexl - 31/08/2004 13:40
Avatar van webbiexl PHP interesse gebruik t dan allebei, dr zijn zat membersystemen die er van gebruik maken waarom dan ook niet een poll, of ik moet het verkeerd begrepen hebben 
Offline remy - 31/08/2004 13:43
Avatar van remy PHP ver gevorderde probeer maar es, hij geeft altijd weer dat er gestemt is, ook als ik het cookie verwijder(browser afsluiten).

  1. <html>
  2. <head>
  3. <title>Poll</title>
  4. </head>
  5. <body>
  6. <?php
  7. $poll=$_POST['poll'];
  8. $opties[0] = "<font face=verdana size=2>mooi ";
  9. $opties[1] = "<font face=verdana size=2>gaat ";
  10. $opties[2] = "<font face=verdana size=2>stom ";
  11. $vraag = "<center><font face=verdana size=2>Wat vind je van de site?</center>";
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. if($poll == 1)
  19. {
  20.  
  21. $fp=fopen("poll.txt","r+");
  22. $count=fgets($fp,6);
  23. $count++;
  24. rewind($fp);
  25. fputs($fp,$count,6);
  26. fclose($fp);
  27.  
  28.  
  29. }
  30. elseif($poll ==2)
  31. {
  32. $fp1=fopen("poll1.txt","r+");
  33. $count1=fgets($fp1,6);
  34. $count1++;
  35. rewind($fp1);
  36. fputs($fp1,$count1,6);
  37. fclose($fp1);
  38. }
  39. else
  40. {
  41. $fp2=fopen("poll2.txt","r+");
  42. $count2=fgets($fp2,6);
  43. $count2++;
  44. rewind($fp2);
  45. fputs($fp2,$count2,6);
  46. fclose($fp2);
  47. }
  48.  
  49. $file = "poll.txt";
  50. $fopen = fopen($file, "r+");
  51. $data = fgets($fopen, 4096);
  52. fclose($fopen);
  53.  
  54. $file1 = "poll1.txt";
  55. $fopen1 = fopen($file1, "r+");
  56. $data1 = fgets($fopen1, 4096);
  57. fclose($fopen1);
  58.  
  59. $file2 = "poll2.txt";
  60. $fopen2 = fopen($file2, "r+");
  61. $data2 = fgets($fopen2, 4096);
  62. fclose($fopen2);
  63.  
  64.  
  65. if(setcookie(time() + 0))
  66. {
  67. $weergave="<table border=1 bordercolor=#3399cc cellspacing=0 cellpadding=2 width=200><tr><td colspan=2 background=header.jpg>$vraag</td></tr><tr><td bordercolor=#ffffff width=31%>$opties[0]</td><td bordercolor=#ffffff><img src=rondbalk.jpg><img src=balk.jpg height=10 width=$data><img src=rondbalkr.jpg>$data</td></tr><tr><td bordercolor=#ffffff width=10%>$opties[1]</td><td bordercolor=#ffffff><img src=rondbalk.jpg><img src=balk.jpg height=10 width=$data1><img src=rondbalkr.jpg>$data1</td></tr><tr><td bordercolor=#ffffff width=10%>$opties[2]</td><td bordercolor=#ffffff><img src=rondbalk.jpg><img src=balk.jpg height=10 width=$data2><img src=rondbalkr.jpg>$data2</td></tr><tr><td bordercolor=#ffffff width=10%> Gestemt!<br></td><td bordercolor=#ffffff> </td></tr></table>";
  68. }
  69. else
  70. {
  71. $weergave="<form method=post action=poll.php><table border=1 bordercolor=#3399cc cellspacing=0 cellpadding=2 width=200><tr><td colspan=2 background=header.jpg>$vraag</td></tr><form method=get><tr><td bordercolor=#ffffff width=31%><input type=radio name=poll value=1 checked>$opties[0]</td><td bordercolor=#ffffff><img src=rondbalk.jpg><img src=balk.jpg height=10 width=$data><img src=rondbalkr.jpg>$data</td></tr><tr><td bordercolor=#ffffff width=10%><input type=radio name=poll value=2>$opties[1]</td><td bordercolor=#ffffff><img src=rondbalk.jpg><img src=balk.jpg height=10 width=$data1><img src=rondbalkr.jpg>$data1</td></tr><tr><td bordercolor=#ffffff width=10%><input type=radio name=poll value=3>$opties[2]</td><td bordercolor=#ffffff><img src=rondbalk.jpg><img src=balk.jpg height=10 width=$data2><img src=rondbalkr.jpg>$data2</td></tr><tr><td bordercolor=#ffffff width=10%><input type=submit name=verzenden value=Stem><br></td><td bordercolor=#ffffff> </td></tr></table></form>";
  72. }
  73.  
  74. echo $weergave;
  75. ?>
  76.  
  77.  
  78.  
  79.  
  80.  
  81. </body>
  82. </html>
Offline wouter - 31/08/2004 13:59
Avatar van wouter PHP interesse door je browser te sluiten is je cookie echt niet weg (Dat is enkel bij sessies)
Offline remy - 31/08/2004 14:05
Avatar van remy PHP ver gevorderde ja maar ok al haal ik hem weg uit de map, dan staat er nog 'reeds gestemt'.:s
Offline Darrow - 31/08/2004 14:07
Avatar van Darrow Onbekend if(setcookie(time() + 0))
{

:?: 
Offline remy - 31/08/2004 16:11 (laatste wijziging 31/08/2004 16:11)
Avatar van remy PHP ver gevorderde euhm nu heb ik dit, hij maakt nu wel een cookie maar hij verwijderd hem niet meer. kijk op members.lycos.nl/waisjawel/poll.php :

  1. <html>
  2. <body>
  3.  
  4. <?php
  5. $opties[0] = "<font face=verdana size=2>mooi ";
  6. $opties[1] = "<font face=verdana size=2>gaat ";
  7. $opties[2] = "<font face=verdana size=2>stom ";
  8. $vraag = "<center><font face=verdana size=2>Wat vind je van de site?</center>";
  9.  
  10. $result="result.txt";
  11. $pointer=fopen($result,"r");
  12. $poll=fread($pointer,filesize($result));
  13. fclose($pointer);
  14. $poll=explode(",",$poll);
  15. $totaal=$poll[0]+$poll[1]+$poll[2];
  16. $barlengte=400;
  17. $barlengte0=$poll[0]*$barlengte/$totaal;
  18. $barlengte1=$poll[1]*$barlengte/$totaal;
  19. $barlengte2=$poll[2]*$barlengte/$totaal;
  20. $barlengte0=round($barlengte0);
  21. $barlengte1=round($barlengte1);
  22. $barlengte2=round($barlengte2);
  23.  
  24. if(isset($submit))
  25. {
  26. setcookie("gestemd","ja",time()+2);
  27. }
  28.  
  29. echo "<form method=post>";
  30. echo "<table border=1 bordercolor=#3399cc cellspacing=0 cellpadding=2 width=200>";
  31. echo "<tr>";
  32. echo "<td colspan=2 background=header.jpg>".$vraag."</td>";
  33. echo "</tr>";
  34. echo "<tr>";
  35. echo "<td bordercolor=#ffffff width=31%><input type=radio name=antwoord
  36.  
  37. value=0>".$opties[0]."</td>";
  38. echo "<td bordercolor=#ffffff width=$barlengte0 bgcolor=red><center>$poll[0]</center></td>";
  39. echo "</tr>";
  40. echo "<tr>";
  41. echo "<td bordercolor=#ffffff width=10%><input type=radio name=antwoord
  42.  
  43. value=1>".$opties[1]."</td>";
  44. echo "<td bordercolor=#ffffff width=$barlengte1 bgcolor=red><center>$poll[1]</center></td>";
  45. echo "</tr>";
  46. echo "<tr>";
  47. echo "<td bordercolor=#ffffff width=10%><input type=radio name=antwoord
  48.  
  49. value=2>".$opties[2]."</td>";
  50. echo "<td bordercolor=#ffffff width=$barlengte2 bgcolor=red><center>$poll[2]</center></td>";
  51. echo "</tr>";
  52. echo "<tr>";
  53. echo "<td bordercolor=#ffffff width=10%>";
  54.  
  55.  
  56. if(empty($submit) && empty($gestemd) && empty($antwoord))
  57. {
  58. echo "<input name=submit type=submit value=Stem>";
  59. }
  60. else
  61. {
  62. echo "<b>Gestemd</b>";
  63. if (isset($submit) && isset($antwoord) && empty($HTTP_COOKIE_VARS["gestemd"]))
  64. {
  65. $result="result.txt";
  66. $pointer=fopen($result,"r+");
  67. $poll=fread($pointer,filesize($result));
  68. $poll=trim($poll);
  69. $poll=explode(",",$poll);
  70. $poll[$antwoord]++;
  71. $poll=$poll[0] . "," . $poll[1] . "," . $poll[2];
  72. rewind($pointer);
  73. fputs($pointer,$poll);
  74. fclose($pointer);
  75. }
  76.  
  77.  
  78. }
  79. echo "</td><td bordercolor=#ffffff>".$totaal." stemmen</td>";
  80. echo "</tr></table>";
  81. echo "</form>";
  82.  
  83. ?>
  84. </body>
  85. </html>
Offline Darrow - 31/08/2004 16:34
Avatar van Darrow Onbekend suuuuuperglobaaals ... $_POST['submit']
Offline remy - 31/08/2004 16:40
Avatar van remy PHP ver gevorderde heej hij doet het

maar al mensen nu op refresh klikken dan telt de teller door en als je op 'stem' geklikt hebt moet je eerst op refresh klikken om je eigen stem te zien.

is hier ook iets tegen te doen??:cool:
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.237s