Jeg har forsøgt mig frem og tilbage med et pointsystem og kan ikke finde frem til løsningen.
Jeg har et brugersystem. Når man logger ind bliver disse dataer gemt i databasen: sidstset = time() for hvornår man er logget på sidstaktiv = time() for hvornår man sidst har opdateret siden - f5.
Den ligning jeg ikke kan finde ud af at opstille er: Hvordan skal man lave sådan, at man modtager 1 point pr. time man har været online? Altså hver gang jeg opdaterer siden skal jeg gerne kunne se, at jeg har fået 0.00001 point eller lign.
Point i databasen er sat op i double, så det kan indeholde decimaler.
Det er vigtigt, at hvis brugeren logger ud efter 30 minutter jamen så har vedkommende modtaget 0,5 point. Har brugeren logget af efter 15 minutter jamen så skal vedkommende have 0,25 point.
Jeg håber der er nogen der kan hjælpe.
- - - - - - - - - - - - - - - - - - - - - -
Jeg har selv prøvet mig lidt frem, men virker dog ikke:
Jeg har fint styr på, at de kan få tildelt en point pr. aktivitet de foretager sig på siden. Men jeg leder mere efter, at de først skal have 1 point når de har været aktiv i en time.
Hvad skal der ske, hvis jeg placerer min finger på F5 og holder den dér i 5 minutter? Skal det - udover at trække bunker af unødig trafik - give 20.000 pointtildelinger, eller? =)
Nej ikke helt alligevel. Grunden til det er, at hvis en bruger logger på kl. 17:59 og logger af kl. 18:01 så har han modtaget 1 point. Til modsætning af dem der har været online i 60 minutter for at få det enkelte point.
Det skal gå hånd i hånd med den online tid man har og de point man får. Så har man fx. været online på siden i 30 minutter jamen så skal man have 0,5 point for det. 15 minutter = 0,25 point for det. Det skal så lægges OVENI de tidligere point.
olebole, nej det skal det ikke. Hvis du holder f5 nede i 5 minutter, så skal det give en unødig trafik + 5/60 point = 0,0833333333 point sammenlagt på de 5 minutter.
- og hvis jeg går ind på siden kl.18 om aftenen - og jeg så refresher siden kl.08 om morgenen - har jeg så været online i 14 timer? Er projektet mon helt gennemtænkt, eller mangler du ikke noget planlægning, inden du kan skrive applikationen?
Det er selve ligningen jeg har problemer med at stille op. Hvordan man skal trække time() fra og til, og til sidst at dividere det med 3600 sekunder (1 time) for at det skal give 1, som så bliver lagt oveni de tidligere point man havde.
For det skal gerne være muligt, at kunne få ekstra point samt blive trukket i point.
Jamen, så er det vel bare at gemme et timestamp for hvergang en bruger tilgår en side. Det timestamp trækker du fra time() og dividerer tallet med 3600
Jeg synes altså også det lyder som lidt mærkeligt det her som olebole også siger "og hvis jeg går ind på siden kl.18 om aftenen - og jeg så refresher siden kl.08 om morgenen - har jeg så været online i 14 timer? Er projektet mon helt gennemtænkt, eller mangler du ikke noget planlægning, inden du kan skrive applikationen?"
så kan jeg bare få min computer til at klik ET stede hele tiden så få jeg utroligt hente let tjene point til min bruger hvis det er.
jeg synes personligt at du skal overvej nogle omkring det her.
Det der sker er, at hvis jeg giver mig selv point gennem databasen, så bliver det igen optimeret efter ens online timer. Det vil sige, at hvis jeg har 20 timer sammenlagt i brugerlogin, så smider den mine point på 20. Jeg kan hverken trække fra eller til med hensyn til point fordi den går efter onlinetid.
TubrukDk, du bliver smidt af efter 15 minutter inaktivitet. Folk må gerne sidde og klikke som de vil, hvis de har lyst til det :) Det skal stadig kun give dem en point i timen.
Disse felter opdaterer jeg hver gang en bruger klikker på en side: mysql_query("UPDATE `brugere` SET `sidstset` = '".$tid."', `sidstaktiv` = '0', `onlinetid` = '".$onlineTime2."', `point` = point + $point WHERE `id` = '".$showUsers['id']."'");
Så give os fejl ?, så er der måske andre bruger som ved det til næste gang de kigger eller ligne.
Synes godt om
Ny brugerNybegynder
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.