Gjest Slettet+6132 Skrevet 15. april 2005 Del Skrevet 15. april 2005 Så er det atter en fredagskveld, som betyr at jeg sannsynligvis kommer til å kjede meg, og kommer sannsynligvis til å fikse på hjemmesiden min. Problemet mitt for øyeblikket er at visningstelleren min teller hver gang en side er vist, og siden jeg bruker include, og telleren ligger i index så blir denne telleren veldig dum. Det jeg trenger hjelp til er å lage to funksjoner, en "skrivVisninger($ip)" og en "lesVisninger()" skrivVisninger($ip) skal sjekke om besøkerens ip allerede er notert, hvis ikke, så noteres den. lesVisninger() skal brukes for å hente ut antall visninger. Problemet er at jeg ikke aner hvordan jeg skal sope dette sammen, så jeg trenger hjelp. Siden det finnes så mange søte, snille her på forumet, så er det kanskje noen som vil hjelpe? PS: Vil helst unngå bruk av SQL, fordi webserveren min har veldig lite RAM (les: ekstremt lite, 48M ), og SQL'en på routeren loker litt. På forhånd takk, eRik Lenke til kommentar
simenss Skrevet 16. april 2005 Del Skrevet 16. april 2005 Du kan jo bruke sessions. Men hvis bruker lukker nettleseren vil han bli oppfattet som "nytt besøk" hvis han besøker siden din igjen. Det kan du jo løse med f.eks. cookies, men da må bruker ha det aktivert Lenke til kommentar
simenss Skrevet 16. april 2005 Del Skrevet 16. april 2005 Skjer ikke noe spesielt her hjemme, nå klokken 8, så skriver en kode jeg: <?php session_start(); if($_SESSION['ses_old'] || $_COOKIE['cookie_old']) { } else { // Oppdaterer teller med +1 $_SESSION['ses_old'] = true; setcookie("cookie_old", true time()+60*60*24, '/'); } ?> Sikkert mange guruer her med en mye bedre løsning, men i allefall et forslag Lenke til kommentar
Gjest Slettet+6132 Skrevet 16. april 2005 Del Skrevet 16. april 2005 Takk for at du prøver å hjelpe, men jeg vil kun ha unike visninger. Altså at IPen blir lagret i en flatfil med den ene funksjonen, og besøksantallet blir hentet med den andre Lenke til kommentar
simenss Skrevet 16. april 2005 Del Skrevet 16. april 2005 Skal IP'ene nullstilles hver dag? Lenke til kommentar
Gjest Slettet+6132 Skrevet 16. april 2005 Del Skrevet 16. april 2005 Nei, les første post litt grundig. skrivVisninger($ip) skal legge $ip i en flatfil hvis den ikke er der fra før. lesVisninger() skal telle hvor mange iper det er i flatfilen. Lenke til kommentar
simenss Skrevet 16. april 2005 Del Skrevet 16. april 2005 Når jeg først har begynt må jeg fullføre: teller.php <?php function skrivVisninger($ip) { if(!$iplist = file_get_contents('iplist.txt')) { $newfile = fopen('iplist.txt', 'a+'); if(!fwrite($newfile)) { print('Oppretting av iplist.txt misslyktes'); } fclose($newfile); } if(!eregi($ip, $iplist)) { $newiplist = fopen('iplist.txt', 'a+'); if(!fwrite($newiplist, $ip.',')) { print('Skriving til iplist.txt misslyktes'); } fclose($newiplist); } } function lesVisninger() { $iplist = file_get_contents('iplist.txt'); print(substr_count($iplist, ',')); } ?> Side som viser antall ip'er på listen og registerer nye besøkende: <?php include('teller.php'); skrivVisninger($_SERVER['REMOTE_ADDR']); lesVisninger(); ?> Lenke til kommentar
EirikO Skrevet 17. april 2005 Del Skrevet 17. april 2005 Hvorfor vil du telle unike ip'er? Jeg synes at løsningen med session er bedre. Da teller den ikke hver gang den besøkende oppdaterer, men teller dersom den kommer tilbake senere. To besøk, er jo to besøk... Men er vel bare en smakssak. Smaken er jo som kjent som Korea... Og er det ikke slik at de fleste ikke har fast ip? Lenke til kommentar
karrog Skrevet 18. april 2005 Del Skrevet 18. april 2005 Simenss, har du virker som du har litt peil på proggings. Jeg skulle hatt en liten kode snutt som henter ut to tall fra en string, tallene er alltid på samme plass. Eks: test 12 det er mellomrom mellom test og 12. Da skal jeg ha tallet 12 som skal hentes ut, og sammenlignes i en if setning... if (tall == 12) Regner med at du tar den på straaaak arm Lenke til kommentar
Torbjørn Skrevet 18. april 2005 Del Skrevet 18. april 2005 du kan bruke preg_replace slik f.eks: $tall = preg_replace("/\D/","","test 12"); Lenke til kommentar
karrog Skrevet 18. april 2005 Del Skrevet 18. april 2005 hmmm.. tror ikke jeg helt forsto den kodesnutten der nei.... Lenke til kommentar
simenss Skrevet 18. april 2005 Del Skrevet 18. april 2005 (endret) Simenss, har du virker som du har litt peil på proggings. Hvis jeg skulle skrevet koden selv ville jeg brukt: <?php $tekst = 'test 12'; $tall = explode($tekst, ' '); if($tall[1]==12) { // Blablabla } ?> Men av erfaring tror jeg Torbjørn har bedre erfaring med PHP enn meg, så hans løsning er nok bedre EDIT: Noen småting... Endret 18. april 2005 av simenss Lenke til kommentar
LoS Skrevet 18. april 2005 Del Skrevet 18. april 2005 (endret) I følge manualen så vil den hente ut alt som ikke er ett desimaltall. Og i følge funksjonen så vil den bytte ut alt som ikke er ett desimaltall med ingenting og bli stående igjen med ett tall. En ny lærerik dag. edit: desimaltall er liksom noe annet enn ett desimal. Endret 18. april 2005 av LoS Lenke til kommentar
simenss Skrevet 18. april 2005 Del Skrevet 18. april 2005 I følge manualen så vil den hente ut alt som ikke er ett desimal.Og i følge funksjonen så vil den bytte ut alt som ikke er ett desimal med ingenting og bli stående igjen med ett tall. En ny lærerik dag. Ja, da lærte jeg også noe i dag Hva med: <?php $tekst = 'test 12'; $tall = substr($tekst,5,100); if($tall==12) { // Blablabla } ?> Forutsetter at ordet før mellomrommet kun er på fire tegn, og at det ikke kommer noe tekst bak tallet. Egentlig helt elendig, men enkelt å bruke Lenke til kommentar
karrog Skrevet 18. april 2005 Del Skrevet 18. april 2005 Det var noe slikt jeg tenkte, men det kommer også tekst bak tallet... Lenke til kommentar
Torbjørn Skrevet 18. april 2005 Del Skrevet 18. april 2005 kodesnutten min stripper alt som ikke er siffer fra strengen som står som argument nummer 3 i preg_replace Lenke til kommentar
zokra Skrevet 18. april 2005 Del Skrevet 18. april 2005 Off Topic: @ Torbjørn vet du om noen gode guider på nett til regulære utrykk? (Er litt ny på det punktet) Lenke til kommentar
svatt Skrevet 18. april 2005 Del Skrevet 18. april 2005 Et fint program for å teste regex er The Regex Coach: http://www.weitz.de/regex-coach/ Lenke til kommentar
Torbjørn Skrevet 18. april 2005 Del Skrevet 18. april 2005 jeg vet ikke om noen gode desverre, det står en del fornuftig på php.net, ellers finner du sikkert mye på google. 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å