Toon posts:

[php] cookie probleempje

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Allereerst coole strakke verbetering aan de site >:)

ik had al een poll gemaakt die een cookie achterlaat om zo het stemmen een beetje in te kunnen dammen.

Nu heb ik dit scriptje:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<? 
    if (!isset($_COOKIE["Poll-".$naam])) 
    { 
    setcookie("Poll-".$naam,$id,time()+3600*24); 
    include("login.php"); 
    
    $qinfo = "UPDATE poll_antwoorden SET stemmen = stemmen+1 WHERE pollnaam='$naam' AND id='$id'"; 
    mysql_query($qinfo); 
?> 
    <script LANGUAGE="JAVASCRIPT1.2" TYPE="TEXT/JAVASCRIPT"> 
     <!-- Hide script from old browsers 
     window.location="pollresults.php?naam=<? echo $naam; ?>&cookie=nee" 
     // End hiding script from old browsers --> 
     </script> 
<? 
    } 
    else 
    { 
?> 
     <script LANGUAGE="JAVASCRIPT1.2" TYPE="TEXT/JAVASCRIPT"> 
     <!-- Hide script from old browsers 
     window.location="pollresults.php?naam=<? echo $naam; ?>&cookie=ja" 
     // End hiding script from old browsers --> 
     </script> 
<? 
    } 
?> 


gebruikt. De eerste poll doet ie wel goed met deze code, de tweede kan die echter de cookie niet vinden en stemt dus elke keer opnieuw.

Hoe kan dit?

Verwijderd

Topicstarter
de cookie heeft als naam poll/ hoe kan dat?

Verwijderd

je cookie variabele haal je wel uit $_COOKIE (dus je bent blijkbaar op de hoogte dat register_globals niet meer standaard aan staat) maar $naam probeer je wel nog steeds direct te benaderen ipv uit $_GET te halen

Verwijderd

Topicstarter
maar beide sites staan bij dezelfde hosting service. Hoe kan het dan dat de ene wel werkt en deze niet? Terwijl het script hetzelfde is.

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
<?  
 if (!isset($_COOKIE["Poll"]))  
 {  
 setcookie("Poll",$id,time()+3600*24);
?>


Doet het wel maar
PHP:
1
2
3
4
5
<?  
 if (!isset($_COOKIE[$naam]))  
 {  
 setcookie("$naam",$id,time()+3600*24);
?>

weer niet. Hoe kan dat?

Moet ik met getenv $naam werken ofzo?

Verwijderd

Hoe komt de variabele het script binnen, declareer je m voor setcookie? via een get-argument? via een post-argument?

Verwijderd

bovendien zijn quotes (" en ") om de var niet nodig, kan je zelfs beter niet doen...
dus moet worden:
PHP:
1
2
3
<?php
setcookie($_GET["naam"], $id, time()+3600*24);
?>

aangenomen dat je de $naam uit een get var haalt...

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 31 juli 2002 @ 16:04:
bovendien zijn quotes (" en ") om de var niet nodig, kan je zelfs beter niet doen...
dus moet worden:
PHP:
1
2
3
<?php
setcookie($_GET["naam"], $id, time()+3600*24);
?>

aangenomen dat je de $naam uit een get var haalt...
Als we er $_GET['naam'] van maken ben ik zelfs tevreden :)
naam is geen string (dat geef je aan met " " ) maar moet wel gequote worden met ' ' :)

Verwijderd

Topicstarter
als ik dus dit doe zijn jullie tevreden :-) :

PHP:
1
2
3
4
5
1   <?   
2    if (!isset($_COOKIE[$_GET['naam']"]))   
3    {   
4    setcookie($_GET['naam'],$id,time()+3600*24); 
5   ?>


en dan zou het moeten werken >:)

[ Voor 0% gewijzigd door Verwijderd op 31-07-2002 17:33 . Reden: [php] vergeten ]


Verwijderd

Topicstarter
aan de kleur te zien niet :(

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Verwijderd schreef op 31 juli 2002 @ 17:30:
als ik dus dit doe zijn jullie tevreden :-) :

PHP:
1
2
3
4
5
1   <?   
2    if (!isset($_COOKIE[$_GET['naam']"]))   
3    {   
4    setcookie($_GET['naam'],$id,time()+3600*24); 
5   ?>


en dan zou het moeten werken >:)
Nee, d0h.
Het aantal " is oneven.

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
1   1   <?    
2   2    if (!isset($_COOKIE[$_GET['naam']]))    
3   3    {    
4   4    setcookie($_GET['naam'],$id,time()+3600*24); 
5   5   ?>


zo?
Pagina: 1