Avatar billede mikze Nybegynder
20. august 2005 - 18:43 Der er 1 kommentar og
1 løsning

60 sekunder fra sidst

Hej,

Jeg har et community, med tilhørende time-system som viser hvor lang tid den pågældende bruger har været online. Nu skal der også laves et system som giver brugeren et point hvert minut.

Koden starter med:

---------------------------------

[code]
<?

mysql_query("UPDATE brugere SET points=points+1 WHERE brugernavn='".$_SESSION["myusername"]."'");

?>
<script language="javascript" type="text/javascript">
setTimeout("location.reload(true)",60000);
</script>

[/code]
-----------------------------------

Der skal bare laves sådan at man ikke bare kan opdatere siden og så få et point for hver gang man opdatere. Hvis nogle har et svar kan i bare smide det og lade være med at læse videre:



Jeg har prøvet at oprette et felt i MySQL som hedder point_timeout, og i den bliver der indsat time() hvert minut.

Og hver gang siden bliver indlæst, så tjekker den om feltet i mysql(point_timeout) er 60 større end sidst.. og hvis den er så skal den give brugeren 1 point mere.. Men har bare ikke fået det til at virke.. Men det er nok min kode som er forkert og der ingen grund er til at rette i.

Men hvis I kan lave koden ville det hjælpe mig meget :)
Avatar billede lillebror Nybegynder
20. august 2005 - 18:51 #1
Du dropper din javascript kode, og i stedet sætter du et felt i brugerens række der indeholder time(), da han loggede ind. Når han logger ud sammenligner du time() mod den time(), du har gemt fra hans login. Divider tallet med 60, og du har antallet af minutter.

Eneste problem er, at hvis han lukker vinduet uden at logge ud, så bliver han jo ved med at stå, som værende logget ind, men det kan du ordne ved at lave et felt, der sætter time() hver gang han reloader en side. Og hvis han så lukker vinduet uden at logge ud, så bliver dette felt aldrig større, og du kan så lave en funktion der sørger for at brugere der har været inaktive i en periode automatisk bliver logget ud, og i den funktion sammenligner du de to felter, finder forskellen og dividerer med 60 og ligger tallet til points!
Avatar billede mikze Nybegynder
25. august 2005 - 21:10 #2
har selv fået det fixet :) - uden din løsning :)
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