Avatar billede champman2000 Nybegynder
06. september 2003 - 01:39 Der er 6 kommentarer og
1 løsning

Cookie problemer

Jeg har et dokument der gerne skulle sætte nogle informationer om de besøgende ind i en database. Nogle af disse informationer skulle helst kun registreres 1 gang. Derfor vil jeg gerne benytte cookies for at tjekke om registreringen er fundet sted.

Af en eller anden mystisk grund, som er ved at gøre mig sindsyg, gider den ikke lave de cookies jeg ønsker. Disse setcookies funktioner har jeg afprøvet i et dokument for sig selv. Udfra dette har jeg konstateret, at min computer ikke har noget problem med at lave de pågældende cookies. Men når setcookie() funktionen bruges i det omtalte dokument bliver cookies ikke lavet. Dette dokument bliver inkluderet øverst i min index fil hvorfra al bevægelse på siden foregår.

stats.php (ikke alt taget med)
<?php
// Domæne
$domain = "localhost";

// BROWSER

if ($_COOKIE 'BROWSER' == false) {

setcookie("BROWSER", true, time()+60*60, "/", $domain) or die("Cookie fejl (browser)");

if (ereg('Opera ( 0-9. 0-9{1,2})',$_SERVER "HTTP_USER_AGENT",$log_version)) {
$BROWSER_VER = $log_version 1;
$BROWSER_AGENT = 'OPERA';
} elseif (ereg('Netscape/( 0-9. 0-9{1,2})',$_SERVER "HTTP_USER_AGENT",$log_version)) {
$BROWSER_VER = $log_version 1;
$BROWSER_AGENT = 'Netscape';
} elseif (ereg('MSIE ( 0-9. 0-9{1,2})',$_SERVER "HTTP_USER_AGENT",$log_version)) {
$BROWSER_VER = $log_version 1;
$BROWSER_AGENT = 'Microsoft Internet Explorer';
} else {
$BROWSER_VER = "";
$BROWSER_AGENT = $_SERVER 'HTTP_USER_AGENT';
}
$browser = $BROWSER_AGENT . " " . $BROWSER_VER;
$query = mysql_query("SELECT * FROM stats_browsers WHERE browser='$browser'");
$num = mysql_num_rows($query);
if ($num != 0 ) {
mysql_query("UPDATE stats_browsers SET hits=hits+1 WHERE browser='$browser'");
} else {
$query = "INSERT INTO stats_browsers (id, browser, hits) ";
$query .= "VALUES ('', '$browser', '1')";
mysql_query($query);
}
$num = 0;
}
?>


Den besøgendes browser burde kun registreres 1 gang. Som det er nu bliver hits forøget hver gang en bruger opdaterer eller flytter sig rundt på siden. Jeg ønsker ikke at browser X får forhøjet sin hits kollone med 32 bare fordi Hr. X render rundt på 32 undersider og derfor kører index.php 32 gange.

Hvad gør jeg forkert? Jeg er absolut fortabt. HJÆLP MIG!! :(

Kører med PHP 4.3.1.

http://www.netcoders.dk/forum.asp?mode=show_message&tech_id=2&forum_id=49&message_id=69707
Avatar billede ztyxx Nybegynder
06. september 2003 - 01:42 #1
if ($_COOKIE['BROWSER'] == false) {
Avatar billede champman2000 Nybegynder
06. september 2003 - 01:53 #2
sorry...

der stod i sin tid if ($_COOKIE['BROWSER'] == false) { ... netcoders har det med at fjerne [ ]
Avatar billede detox Nybegynder
06. september 2003 - 07:36 #3
Måske skal du skippe 'localhost'.
Avatar billede champman2000 Nybegynder
06. september 2003 - 11:13 #4
desværre er det heller ikke problemet...
Avatar billede champman2000 Nybegynder
06. september 2003 - 15:44 #5
detox> Du er gud :D

Mit imbecile individ har ikke tænkt mig om da jeg afprøvede teorien :) Takker mange gange!! skal du ikke have point? :)
Avatar billede detox Nybegynder
06. september 2003 - 22:34 #6
Jo, hvis du syntes der skal falde lidt af, er det da ok.
Avatar billede champman2000 Nybegynder
06. september 2003 - 22:42 #7
jeg har flere end jeg har brug for
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester