11. juni 2003 - 15:16Der er
26 kommentarer og 2 løsninger
noget med cookies
Jeg vil gerne registrere hvor mange gange en bestemt side er blevet besøgt...og samme pc må selvfølgelig ikke tælle med flere gange inden for fx 30 min.
Det er vel noget med jeg skal sætte en cookie, hvis ikke den er sat, som indeholder sidens id samt en tidsgrænse eller hvad?
hvordan gør jeg det? og hvordan læser jeg den igen?
Kan man desuden sætte en cookie som aldrig udløber?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
her er et jeg selv bruger, baseret på PHP/MySQL tabellen i databasen:
# Table structure for table taeller #
CREATE TABLE taeller ( id tinyint(5) DEFAULT '0' NOT NULL auto_increment, hit bigint(5) unsigned zerofill DEFAULT '00000' NOT NULL, PRIMARY KEY (id) );
scriptet:
<?php
require('dbinc.php'); //databaseconnect if(!$_COOKIE["tael"]) { //hvis ikke der er sat en cookie, opdateres tælleren med en mysql_query("UPDATE taeller set hit=hit+1") or die(mysql_error()); setcookie("tael", time()+86400); // her sættes cookien, også selv om den er sat, denne gælder i et døgn (60*60*24) } else { setcookie("tael", time()+86400); //hvis cookien er sat, og besøget er inden for 24 timer fra sidste besøg, forlænges udløbet med et døgn } ?>
men i mit eksempel bliver den sat, både hvis den er udløbet og hvis den ikke gør, men man skal være opmærksom på, at brugerne kan have disabled cookies i sin browser
Jeg får denne fejl: Notice: Undefined index: tael in D:\Hjemmesider\riversen.dk\index.php on line 1256
Warning: Cannot modify header information - headers already sent by (output started at D:\Hjemmesider\riversen.dk\index.php:5) in D:\Hjemmesider\riversen.dk\index.php on line 1258
har indsat følgende kode: if( !$_COOKIE['tael']) { setcookie("tael", time()+30); echo ( "Dette er første gang inden for 30 sek." ); } else { echo ( "Dette er ikke første gang inden for 30 sek." ); }
du skal bruge isset (og desuden mangler du et parameter til cookie
if( !isset($_COOKIE['tael']) ) { setcookie("tael", "indhold", time()+30); echo ( "Dette er første gang inden for 30 sek." ); } else { echo ( "Dette er ikke første gang inden for 30 sek." ); }
skal jeg aller øverst i filen siger, hvis aid er sat så sæt en cookie Hvordan tjekker jeg indholdet af cookien? Tænker på hvis jeg gerne vil have til at stå:
aid1 = 4 visits aid2 = 6 visits
eller noget i den stil. skal jeg lave forskellige cookies for hver aid eller?
det kører nu...sådan da...kan det virkelig passe man bare kan lukke browseren og så åbne en ny og så gælder cookien ikke længere? Eller hvordan kommer man udover det problem
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.