login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cookies?

Offline vanw - 24/01/2006 12:53 (laatste wijziging 24/01/2006 12:53)
Avatar van vanwPHP interesse Hoi,

Ik ben bezig met een profielen site, Lukt al aardig goed! Maar ik heb nu een klein probleempje met Cookies.

Ik heb nu een rating systeem, van hier, Op zich werkt hij goed. Alleen je kan op 2 manieren op de profielen bekijken:
http://www.happyprofile.nl/?p=Webmaster_Jorn
of
http://www.happ...aster_Jorn

Het vreemde is als je een cijfer geeft dat hij hem onthoud via de onderste link. Tik je de bovenste link weer in dan kan je op nieuw stemmen terwijl er toch echt 10 minuten tijd tussen moet zitten.

Ik hoop dat iemand weet wat ik er aan kan doen. Dit is het script nu:
  1. <?
  2. //mysql database gevens, deze veranderen.
  3. mysql_connect("localhost","jornhoe_happy","***");
  4. mysql_select_db("jornhoe_happy");
  5.  
  6. //gegevens uit de database ophalen
  7. $result = mysql_query("SELECT * FROM rating WHERE naam = '".$_GET['naam']."'");
  8. $row = mysql_fetch_array($result);
  9. $cookie = "gestemd" . $_GET['naam'];
  10. $cookieSET = $_COOKIE[$cookie];
  11.  
  12. //als er gestemd is
  13. if (isset($_POST['cijfer'])) {
  14. //het aantal stemmen met 1 verhogen en het cijfer dat gegeven word optellen bij de rest
  15. mysql_query("UPDATE rating SET aantal=aantal+1, cijfer=cijfer+" . $cijfer . " WHERE naam = '".$_GET['naam']."'") or die(mysql_error());
  16. //cookie voor een maand zetten
  17. Setcookie($cookie, "gestemd".$_GET['naam'], Time()+600);
  18. header("location:?mainsite=profiel/profiel.php&naam=" . $_GET['naam'] . "");
  19.  
  20.  
  21. }
  22. ?>
  23. <html>
  24. <head><title>Rating</title></head>
  25. <body>
  26. Rate: <? echo $row['naam']; ?><br>
  27. <?
  28. if ($row['aantal'] >= 1) {
  29. echo "Er&nbsp;";
  30. if ($row['aantal'] < 2){
  31. echo "heeft <b>" . $row['aantal'] . "</b> persoon gestemd";
  32. } elseif ($row['aantal'] >= 2) {
  33. echo "hebben <b>" . $row['aantal'] . "</b> personen gestemd";
  34. }
  35. }
  36. ?>
  37. <table>
  38. <?
  39. //kijken of de cookie al gezet is of niet
  40. if(!isset($cookieSET)) {
  41. ?>
  42. <tr>
  43. <td>
  44. <form method="post" action="?mainsite=profiel/profiel.php&naam=<? echo $_GET['naam']; ?>">
  45. <select name="cijfer" onchange="javascript:this.form.submit();">
  46. <option value="">Cijfer:</option>
  47. <option value="1">1</option>
  48. <option value="2">2</option>
  49. <option value="3">3</option>
  50. <option value="4">4</option>
  51. <option value="5">5</option>
  52. <option value="6">6</option>
  53. <option value="7">7</option>
  54. <option value="8">8</option>
  55. <option value="9">9</option>
  56. <option value="10">10</option>
  57. </select>
  58. </form>
  59. </td>
  60. </tr>
  61. <?
  62. }
  63. ?>
  64. <tr>
  65. <td>
  66. <?
  67. //is er nog geen cijfer gegeven
  68. if ($row['aantal'] < 1) {
  69. echo "Er is nog geen cijfer gegeven";
  70. } else {
  71. //is er wel al een cijfer geven
  72. // het gemiddelde berekennen door het totaal te delen door het aantal
  73. $total = $row['cijfer'] / $row['aantal'];
  74. $total = round($total,1);
  75. echo "Aantal sterren:";
  76. //uitrekennen hoeveel sterren het artikel, script of wat dan ook krijgt
  77. if ($total <= 2.5) {
  78. echo "<img src=\"profiel/images_rating/1.gif\">";
  79. } elseif ($total <= 3.5) {
  80. echo "<img src=\"profiel/images_rating/1h.gif\">";
  81. } elseif ($total <= 4.5) {
  82. echo "<img src=\"profiel/images_rating/2.gif\">";
  83. } elseif ($total <= 5.5) {
  84. echo "<img src=\"profiel/images_rating/2h.gif\">";
  85. } elseif ($total <= 6.5) {
  86. echo "<img src=\"profiel/images_rating/3.gif\">";
  87. } elseif ($total <= 7.5) {
  88. echo "<img src=\"profiel/images_rating/3h.gif\">";
  89. } elseif ($total <= 8.5) {
  90. echo "<img src=\"profiel/images_rating/4.gif\">";
  91. } elseif ($total <= 9.5) {
  92. echo "<img src=\"profiel/images_rating/4h.gif\">";
  93. } elseif ($total <= 10.5) {
  94. echo "<img src=\"profiel/images_rating/5.gif\">";
  95. }
  96. }
  97. ?>
  98. </td>
  99. </tr>
  100. </table>
  101. </body>
  102. </html>


Alvast bedankt ik hoor graag de reacties!

10 antwoorden

Gesponsorde links
Offline Thomas - 24/01/2006 12:56
Avatar van Thomas Moderator Aan setcookie() een parameter "/" toevoegen, anders ben je cookies per directory aan het setten...

Zie ook de cookie tutorial.
Offline vanw - 24/01/2006 13:45
Avatar van vanw PHP interesse Ik heb dit ervan gemaakt:
  1. Setcookie($cookie, "gestemd".$_GET['naam'], Time()+600, "/");


En hij slaat het op alleen op: http://www.happ...hp&naa m=Webmaster_Jorn

Net zoals net, en bij ?p=Webmaster_Jorn
doet hij dat niet.

Heb ik iets over het hoofd gezien?
Offline Thomas - 24/01/2006 14:27 (laatste wijziging 24/01/2006 14:27)
Avatar van Thomas Moderator $_GET['naam']:?: 
Offline vanw - 24/01/2006 14:36
Avatar van vanw PHP interesse Hoebedoel je dit precies ?

  1. Setcookie($cookie, "gestemd".$_GET['naam'], Time()+600, "/$_GET['naam']");


Als ik het niet goed heb, zou je dat even in het regeltje kunnen toe passen want volgens mij doe ik het fout.
Offline Thomas - 24/01/2006 14:55
Avatar van Thomas Moderator Ik zie geen $_GET['naam'] in ?p=Webmaster_Jorn, jij wel?
Offline vanw - 24/01/2006 15:30
Avatar van vanw PHP interesse ?p= staat geinclude icm met home.php. Dit is het script:
  1. <?
  2. $query2 = mysql_fetch_array(mysql_query("SELECT gebruikersnaam FROM leden WHERE gebruikersnaam='".$_GET['p']."' LIMIT 0,1"));
  3. if (empty($query2['gebruikersnaam'])) {
  4. if (isset($_GET['p'])){
  5. echo "Dit profiel bestaat niet of niet meer.";
  6. }
  7. include 'home1.php';
  8. }else {
  9. include 'http://www.happyprofile.nl/profiel/profiel.php?naam='.$_GET['p'].'&id=1';
  10. }
  11. ?>


Dus p= wordt omgezet naar naam=
Offline Ontani - 24/01/2006 15:33
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
moet da nie header("Location: http://www.happ...naam=";.$_GET['p']."&id=1"); zijn ipv include
Offline vanw - 24/01/2006 15:37 (laatste wijziging 24/01/2006 15:50)
Avatar van vanw PHP interesse Daar zat ik ook net aan te denken ik ga het gelijk ff aanpassen! Thnx.

Edit 15.39:
Dat was ook het probleem, hij doet het nu gedeeltelijk goed!

Edit 15.47:
Tot mijn verbazing zie ik dat hij niet allenamen goed op slaat als cookie. Zoals: ;..PriinCeszJ..;;

Weet iemand hoe die dat toch in een cookie kan zetten? 
Offline Thomas - 24/01/2006 17:00
Avatar van Thomas Moderator De userid's pakken, in plaats van van die BrEeZaH-namen, dan heb je dat soort problemen niet.
Offline vanw - 24/01/2006 17:31 (laatste wijziging 24/01/2006 17:47)
Avatar van vanw PHP interesse Goed plan, Ik ga het gelijk even proberen! Had ik echt niet aan gedacht.

Bedankt voor jullie hulp!


It's working fine! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.22s