jensens Skrevet 8. januar 2006 Del Skrevet 8. januar 2006 Noen som vet hvordan jeg kan lage en teller i php? Hvem som besøker siden. Å den tar bare at 1 visit pr ip pr dag? Slik man ikke kan sitte og refreshe siden så det ser uit som om det har vært 2000 stk på siden Lenke til kommentar
???????? Skrevet 8. januar 2006 Del Skrevet 8. januar 2006 Se på www.hotscripts.com Lenke til kommentar
trrunde Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 Hvis du finner en tråd som heter nyttige php scripts som andre kan bruke er det en teller der som teller 1 gang per ip per dag. Lenke til kommentar
minc Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 <?php $fil = 'teller.txt'; $lf = fopen($fil,"r") or die("Kan ikke lese fra fil: ".$fil); $teller = fgets( $lf ); fclose($lf); //finner ut om personen har vært her før if(!$_COOKIE['logged2']){ setcookie('logged2',true,mktime(24)); $tf = fopen($fil,'w') or die("Kan ikke skrive til fil: ".$fil); fwrite($tf, ++$teller); fclose($tf); } ?> <html> <head> </head> <body> Antall besøkende er <?php echo $teller; ?> </body> </html> Hei, lagde et lite skript som bruker cookies for å sjekke om personen har vært her det siste døgnet. For å få det til å funke må du lage teller.txt og skrive 0 på første linje. Lenke til kommentar
Arne Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 (endret) Takk, minc. Der lærte jeg noe ôg. Hvordan man setter en cookie. EDIT: Men det var en ting... Den første delen, før du setter cookien, hvorfor lukker du uten å ha åpnet noe? Endret 9. januar 2006 av Fjott Lenke til kommentar
am3k Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 Du tenker på fclose? Se litt lenger opp etter fopen Lenke til kommentar
BigJackW Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 Ingen som har noe som dette: » 0 Visits this day » 0 Visits this week » 0 Visits this month » 0 Visits Total Eller noe lignende. Hadde vært flott om scriptet kunne lagre visitene i MySQL database. Lenke til kommentar
???????? Skrevet 9. januar 2006 Del Skrevet 9. januar 2006 Den mest effektive løsningen der vil være å benytte SQL, hvis ikke må man skrive noe som lagrer til flere filer... ellers vil dette være mye unødvendig jobb for en server. Lenke til kommentar
Arne Skrevet 10. januar 2006 Del Skrevet 10. januar 2006 <?php $fil = 'teller.txt'; $lf = fopen($fil,"r") or die("Kan ikke lese fra fil: ".$fil); $teller = fgets( $lf ); fclose($lf); Dette står øverst i kodesnutten. Lenke til kommentar
Ernie Skrevet 10. januar 2006 Del Skrevet 10. januar 2006 Hva mener du med det? 5412394[/snapback] Filer er ikke akkurat det raskeste man kan holde på med. Spesielt når man skal skrive til filen for (nærmest) hvert eneste besøk. Dvs. at bare en side kan genereres om gangen siden hver side må vente på at fila blir lukket slik at den kan åpnes for skriving igjen. I og for seg får man det samme problemet om man bruker database, men de er vesentlig raskere enn å gjøre det "manuelt". Lenke til kommentar
???????? Skrevet 10. januar 2006 Del Skrevet 10. januar 2006 Nå har ikke jeg lest alle innleggene over, men jeg antar at det fortsatt er snakk om en teller - og skrive til filer. I utgangspunktet vil det være raskere åpne en file og skrive til den enn det vil være å bruke en database. Å skrive til en fil består av følgende: åpne den, skrive og lukke. Bruk av database vil bestå av: koble til dataserver, logg inn, velge database, sende spørring, så vil mysql sjekke spørringen (her sjekker SQL serveren ganske mye), lagre resultatet, sjekke at noe er lagret (if $result og mysql_affected_rows) koble fra databasen. I tillegg må variabler alltid vaskes før de sendes til databasen dersom det er snakk om variabler fra en bruker. Så jeg er litt nyskjerrig på hva du mener Ernie? Lenke til kommentar
Axentrix Skrevet 11. januar 2006 Del Skrevet 11. januar 2006 (endret) <?php $sekunder = 300; $mysql_connect = mysql_connect("server.no","brukernavn","passord"); if(!$mysql_connect) {return "Kunne ikke koble til database";} mysql_select_db("databasenavn"); $query = mysql_query("select ip,tid from spam where ip='".$_SERVER["REMOTE_ADDR"]."'"); if($line = mysql_fetch_array($query, MYSQL_ASSOC)) { if($line["tid"] <= date("U")) { } else { return; exit; } $query = mysql_query("update spam set tid='".(date("U") + $sekunder)."' where ip='".$_SERVER["REMOTE_ADDR"]."'"); } else { $query =mysql_query("insert into spam (tid,ip) values ('".(date("U") + $sekunder)."','".$_SERVER["REMOTE_ADDR"]."')"); // echo $query; } ?> endre litt Fjerna driten som tilhørt gjestebok sql tabell: create table spam (ip VARCHAR(20),tid VARCHAR(20),PRIMARY KEY (ip)); Endret 11. januar 2006 av Axentrix Lenke til kommentar
BigJackW Skrevet 11. januar 2006 Del Skrevet 11. januar 2006 Gjestebok? Hva har gjestebok med teller? Lenke til kommentar
Axentrix Skrevet 11. januar 2006 Del Skrevet 11. januar 2006 (endret) Gjestebok? Hva har gjestebok med teller? 5420808[/snapback] Det har med teller å gjøre, på den måten at "antispamfilteret" mitt fungerer AKKURAT på den måten løsningen her vil fungere;) Og jeg gidder ikke fjerne resten edit: fiksa litt, fornøyd? Endret 11. januar 2006 av Axentrix Lenke til kommentar
Ernie Skrevet 23. januar 2006 Del Skrevet 23. januar 2006 (endret) Nå har ikke jeg lest alle innleggene over, men jeg antar at det fortsatt er snakk om en teller - og skrive til filer. I utgangspunktet vil det være raskere åpne en file og skrive til den enn det vil være å bruke en database. Å skrive til en fil består av følgende: åpne den, skrive og lukke. Bruk av database vil bestå av: koble til dataserver, logg inn, velge database, sende spørring, så vil mysql sjekke spørringen (her sjekker SQL serveren ganske mye), lagre resultatet, sjekke at noe er lagret (if $result og mysql_affected_rows) koble fra databasen. I tillegg må variabler alltid vaskes før de sendes til databasen dersom det er snakk om variabler fra en bruker. Så jeg er litt nyskjerrig på hva du mener Ernie? 5418093[/snapback] Ups, har glemt å svare på den her. Må vel smertelig innrømme at jeg nok ikke hadde mitt på det rene her. Etter litt lett testing må jeg nok bite i det sure eplet og konstantere at databaser nok er en del treigere enn filer. Edit: En ting jeg riktig nok ikke testet ut er hva som skjer når man får mange forespørsler samtidig. Mistenker at en database kan ha noen fordeler (cache f.eks) der i forhold til fil, men tviler på at det blir noe annet enn i bestefall dødt løp. Det er et saftig sprang mellom fil og db. Dog, svært lite trolig at slikt vil ha noe å si på en privat side med lite trafikk. Endret 23. januar 2006 av Ernie Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå