Gå til innhold

Det ultimate bruker- og statistikk-system


Anbefalte innlegg

Har lenge lurt på hvordan man best kan lage et brukersystem, og statistikk system for en side - der man bruker PHP og mysql. Det kan lett lages, men gjør man det dårlig så blir sidene treige.

 

Det jeg har nå er en brukersystem med brukernavn og md5 kryptert passord i en database. Når man logger inn så blir brukernavn og md5 kryptert passord lagt i hver sin cookie, som sjekkers hver gang en av sidene lastes. Stemmer da brukernavn og passord, så er man innlogget. Brukere må ha cookies aktivert for å kunne logge inn.

 

Men jeg vil utvide dette litt. Selv om man ikke er innlogget, så bør man han en identitet. Slik at jeg for eksempel kan vise statistikk om hvor mange som er på siden akkurat - både pålogget av avloggede brukere. Akkurat slik som det er på dette forumet.

 

Men problemet blir å indetifisere en bruker som samme bruker hver gang han klikker seg inn på en av sidene. Ikke alle har cookies aktivert, IP kan variere fra klikk til klikk (takket være Google web-accelerator), flere kan ha samme Ip. Hvordan kan jeg unngå disse problemene?

 

Jeg vil også lagre litt statistikk, om hvilke sider som blir besøkt - og antal besøk oppdelt i dager. Er dette enklest å lagre alle klikk i en tabell, men spørringer? Ser for meg at sidene blir veldig treige når de skal vise en besøksteller, som da må tråle tabellen etter besøk..

 

Er det best med 3 tabeller? En med brukerinformasjon (nick, passord), en med hvem-er-på-nå (med referanse til evt. brukerinformasjon hvis man er pålogget), og en med statistikk?

 

Det er sikkert noen som har grublet over dette før og har erfaring, som kan dele dette med meg. Det hadde vært knall :thumbup:

Lenke til kommentar
Videoannonse
Annonse
Men problemet blir å indetifisere en bruker som samme bruker hver gang han klikker seg inn på en av sidene. Ikke alle har cookies aktivert, IP kan variere fra klikk til klikk (takket være Google web-accelerator), flere kan ha samme Ip. Hvordan kan jeg unngå disse problemene?

 

Til dette bruker du ihvertfall sessions. Hvis du på toppen av alle sidene (eller ihvertfall før du sender noe header info) har session_start() så vil alle brukere få en sessionid, som du finner ved session_id(). Den vil være unik og bevares så lenge brukeren er på siden din. Da kan du også lagre info om han i $_SESSION som er et globalt array som bevares mellom sidene. Da kan du feks registrere hvor lenge han har lest på siden din, hvor han var sist, hvor han er nå osv.

Lenke til kommentar
Men problemet blir å indetifisere en bruker som samme bruker hver gang han klikker seg inn på en av sidene. Ikke alle har cookies aktivert, IP kan variere fra klikk til klikk (takket være Google web-accelerator), flere kan ha samme Ip. Hvordan kan jeg unngå disse problemene?

Til dette bruker du ihvertfall sessions. Hvis du på toppen av alle sidene (eller ihvertfall før du sender noe header info) har session_start() så vil alle brukere få en sessionid, som du finner ved session_id(). Den vil være unik og bevares så lenge brukeren er på siden din. Da kan du også lagre info om han i $_SESSION som er et globalt array som bevares mellom sidene. Da kan du feks registrere hvor lenge han har lest på siden din, hvor han var sist, hvor han er nå osv.

4999993[/snapback]

Hvis du velger å bruke denne metoden kan det lønne seg å lagre session-data i en database også (lage dine egne session-handlere). Da kan du lagre informasjon om alle som er på siten i den databasen, og legge til egne felter i tillegg til SESSID, data og access-feltene som er påkrevd. Det er vel den mest effektive måten å gjøre dette på.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...