Avatar billede sijmonj Nybegynder
23. juni 2010 - 15:09 Der er 7 kommentarer og
1 løsning

point system

Hej, jeg skal have lavet et point system altså kun sådan at hvis man har været online i 1 time så får man 10 point ikke noget med at sende point til andre kun at få point.

Er der en som kan forklare hvordan det virker sån teoretisk og gerne med kode eksempler :)

har kigget her på ekspertens guides men synes ikke jeg forstår det
Avatar billede danco Nybegynder
23. juni 2010 - 17:27 #1
Det er vel et spørgsmål om at du ved login opretter en session med login tidspunktet.
Så kan du ved hver update af en side teste på det kontra nuværende tidspunkt. og derigennem kan du kontrollere hvor længe brugeren har været på og derfor også indsætte point på brugerens konto.

Er det den type forklaring du ville have eller ville du have kode eksempler?
Avatar billede sijmonj Nybegynder
23. juni 2010 - 21:57 #2
gerne sån hvad for nogen felter skal jeg have i min bruger tabel, hvad er det man regner ud helt præcist og så gerne hvordan sql query'en skal se ud :) hvis du har tid og lyst selvfølgelig
Avatar billede danco Nybegynder
23. juni 2010 - 23:15 #3
Jamen hvis det var mig så ville jeg bare tilføje et kolonne i min bruger tabel der hedder point af typen int.
Hvis vi så antager at din primær nøgle hedder user_id

UPDATE users SET point=point+$score WHERE user_id=$user_id

her opereres med 2 variable
$score som indeholder det antal point der skal ligges oveni de eksisterende point

$user_id som indeholde en variabel svarende til brugerens id
Avatar billede danco Nybegynder
24. juni 2010 - 00:50 #4
Og så smider jeg lige lidt andet til dig til beregning af "logget-ind" tiden.
Samtidig med at brugeren logger ind og du sætter dine andre sessions smider du følgende linje
$_SESSION['logged'] = date("m/d/Y h:i", time());

Ved logout proceduren kan du så bruge følgende hvor $online indeholder den tid brugeren har været logget ind i minutter


$to_time=strtotime($_SESSION['logged']);
$from_time=strtotime(date("m/d/Y h:i", time()));
$online = round(abs($to_time - $from_time) / 60,2);
Avatar billede danco Nybegynder
25. juni 2010 - 16:36 #5
Sker her mere ?
Avatar billede sijmonj Nybegynder
21. juli 2010 - 12:55 #6
jeg har ikke helt fået det til at virke, men nogenlunde, man får bare alt for mange points, opretter en ny tråd lige om lidt som os indeholder nogen andre fejl
Avatar billede sijmonj Nybegynder
21. juli 2010 - 12:55 #7
smid svar og tak :)
Avatar billede danco Nybegynder
22. juli 2010 - 14:44 #8
Og her et svar.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester