/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP og cookies
Fra : Morten K. Nielsen


Dato : 26-02-06 18:41

Hej!

I følgende kode kan jeg simpelthen ikke sætte en cookie der hedder deltaget,
og det er ved at drive mig til vanvid... Hvorfor virker det mon ikke??


<?php

if (isset($_COOKIE['deltaget'])) {
?>
<html>
<head><title>Konkurrence</title></head>
<?php
echo "Du har allerede deltaget";

} else {

setcookie("deltaget", "ok");

?>
<html>
<head><title>Konkurrence</title></head>

<?php
echo Du er nu med i konkurrencen";

$db = mysql_connect("hemmelig","hemmelig","hemmelig");
mysql_select_db("hemmelig",$db);

$insertSQL = "insert into konkurrence (byen, batterier, mail, nyhedsbrev)
values ('".$_POST["byen"]."', '".$_POST["batterier"]."',
'".$_POST["mail"]."', '".$_POST["nyhedsbrev"]."')";
mysql_query($insertSQL);

}

?>
</body></html>



 
 
Henrik Stidsen (26-02-2006)
Kommentar
Fra : Henrik Stidsen


Dato : 26-02-06 19:13

Morten K. Nielsen wrote :
> Hvorfor virker det mon ikke??

Du er udsat for et kommunistisk komplot, de kan ikke lide dig og har
derfor fået uindskrænket magt fra Kreml til at genere dig på alle
tænkelige måder.

Eller også er der noget andet galt... ...under alle omstændigheder har
du glemt en meget vigtig ting, hvilken fejlbesked får du ?

--
Henrik Stidsen - http://henrikstidsen.dk/
"I love deadlines. I like the whooshing sound they make as they fly
by."
- Douglas Adams



Morten K. Nielsen (26-02-2006)
Kommentar
Fra : Morten K. Nielsen


Dato : 26-02-06 19:28

> Eller også er der noget andet galt... ...under alle omstændigheder har du
> glemt en meget vigtig ting, hvilken fejlbesked får du ?

Den med Kreml tror jeg ikke helt på Men jeg får ingen fejl-besked!
Scriptet virker fint, og svaret bliver sat ind i MySQL. Men der ligger ingen
cookie på harddsiken (har kigget i IE's cookies mappe og i Firefox's cookie
manager, efter at have testet med begge browsere). Ved ikke om det er en
særhed i PHP :-/

Vhils Morten



Henrik Stidsen (26-02-2006)
Kommentar
Fra : Henrik Stidsen


Dato : 26-02-06 22:07

Morten K. Nielsen formulated the question :
>> Eller også er der noget andet galt... ...under alle omstændigheder har du
>> glemt en meget vigtig ting, hvilken fejlbesked får du ?

> Den med Kreml tror jeg ikke helt på

Fint, det bliver de glade for at høre ;)

> Men jeg får ingen fejl-besked!
> Scriptet virker fint, og svaret bliver sat ind i MySQL. Men der ligger ingen
> cookie på harddsiken (har kigget i IE's cookies mappe og i Firefox's cookie
> manager, efter at have testet med begge browsere). Ved ikke om det er en
> særhed i PHP

Du sætter en cookie der slettes når browseren lukker - den bliver ikke
gemt andet end i rammen.

Prøv at kigge hvilke headers der sendes til browseren - brug f.eks.
Fiddler eller LiveHttpHeaders (plugin til Firefox).

--
Henrik Stidsen - http://henrikstidsen.dk/
"I told the doctor I broke my leg in two places. He told me to quit
going to those places." - Henny Youngman



Simon Rasch 9640 (26-02-2006)
Kommentar
Fra : Simon Rasch 9640


Dato : 26-02-06 23:26

> I følgende kode kan jeg simpelthen ikke sætte en cookie der hedder
> deltaget, og det er ved at drive mig til vanvid... Hvorfor virker det mon
> ikke??

Jeg husker måske forkert, men er der ikke noget med at cookie-halløj skal
klares FØR scriptet sender noget til browseren ?

(...eller er det kun ved session_start)

Mvh
Simon rasch



Morten K. Nielsen (27-02-2006)
Kommentar
Fra : Morten K. Nielsen


Dato : 27-02-06 18:17

> Jeg husker måske forkert, men er der ikke noget med at cookie-halløj skal
> klares FØR scriptet sender noget til browseren ?

Jo, det kan jeg se er rigtigt.. Og åbenbart må jeg heller ikke bruge den her
cookie i en IF-sætning, ellers kan den ikke sættes senere i scriptet. Meget
mystisk firma!

/Morten



Henrik Stidsen (27-02-2006)
Kommentar
Fra : Henrik Stidsen


Dato : 27-02-06 20:40

It happens that Simon Rasch 9640 formulated :
>> I følgende kode kan jeg simpelthen ikke sætte en cookie der hedder
>> deltaget, og det er ved at drive mig til vanvid... Hvorfor virker det mon
>> ikke??

> Jeg husker måske forkert, men er der ikke noget med at cookie-halløj skal
> klares FØR scriptet sender noget til browseren ?

Det er korrekt - og det gør han heller ikke (med mindre noget script
han ikke har vist gør det).

En if sætning der ikke evalueres til true køres jo ikke - så det output
den del måtte lave bliver ikke sendt hvis else køres.

--
Henrik Stidsen - http://henrikstidsen.dk/
"Age is something that doesn't matter, unless you are a cheese."
- Luis Bunuel



Morten K. Nielsen (27-02-2006)
Kommentar
Fra : Morten K. Nielsen


Dato : 27-02-06 21:27

> En if sætning der ikke evalueres til true køres jo ikke - så det output
> den del måtte lave bliver ikke sendt hvis else køres.

Det mærkelig er bare, at efter jeg har fjernet IF-THEN, så virker det... Jeg
ville bare gerne forhindre at folk trykker F5, og derved får tilføjet deres
svar til databasen endnu engang.



Henrik Stidsen (28-02-2006)
Kommentar
Fra : Henrik Stidsen


Dato : 28-02-06 18:56

After serious thinking Morten K. Nielsen wrote :
>> En if sætning der ikke evalueres til true køres jo ikke - så det output den
>> del måtte lave bliver ikke sendt hvis else køres.
>
> Det mærkelig er bare, at efter jeg har fjernet IF-THEN, så virker det... Jeg
> ville bare gerne forhindre at folk trykker F5, og derved får tilføjet deres
> svar til databasen endnu engang.

Så er der nok noget andet du har gjort galt. Det er ikke fordi du laver
output - for så vil du få en fejlbesked på siden og intet andet.

--
Henrik Stidsen - http://henrikstidsen.dk/
"The secret of staying young is to live honestly, eat slowly, and lie
about your age." - Lucille Ball



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste