Fejl i pointgivning

Tags:    php

Hej,
Der er pludselig dukket nogle fejl op i min logout. Den skal altså give 12 "mønter" i timen, men den giver meget mere, og fungere slet ikke.

--------------------
Stykket
--------------------
$hent_info = mysql_query("SELECT * FROM DATABASE WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis = mysql_fetch_array($hent_info);

$onlinetid = time()-$_SESSION[logintid];
$nyonlinetid = $vis[onlinetid]+$onlinetid;
$kr = floor($nyonlinetid/100/15);
$nykr = $vis[konto]+$kr;
--------------------
Problemet ligger i den giver omkring 40 bare man logger på og af.. Kan ikke lige selv overskue fejlen.. Er det evt fordi jeg ikke bruger Cookies?


--------------------
Teaching is nessesary for others to learn.



7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Prøv at skrive det op på et stykke papir i simpel form, så matematikken er nemmere at overskue

gammelt antal i alt + nyt antal i alt giver altså ikke nyt antal i alt.



tager tiden i sekunder og trækker logintid som jeg antager er start tiden i sekunder fra, så det giver hvor mange sekunder du har været logget på:
$onlinetid = time()-$_SESSION[logintid];


antager at $vis[onlinetid] er den totale tid en bruger har været på altid ikke sessionens tid.
hvis så vil det følgende også være den totale tid en bruger har brugt på din side altid:
$nyonlinetid = $vis[onlinetid]+$onlinetid;

Udragner derefter antallet af $kr tjent i total tid, ved et regne stykke der giver lidt over 2kr per time:
$kr = floor($nyonlinetid/100/15);

ligger den totale indtjening oven i hvad der er indtjent:
$nykr = $vis[konto]+$kr;



Hvad dette gør er når du har været på f.eks i 10 timer vil din totale tid være 10*3600=36000 sekunder
Omsat i kroner bliver det til 36000/100/15=360/15=24kr
dette sættes på kontoen.

så næste gang logger du ind i f.eks et sekund, hvad vil gøre at du igen har en total tid på 10 og 1 sekund dette giver ca 24k.
som ligges til kontoen altså står der da 48kr, dette sidste skridt kan gentages igen og igen og vil hver gang ligge 24kr+ til kontoen.
-----------------------------------------------------------------------------

Min side ->www.the-hive.dk/~donp/



1: du bruger cookies

2: du udregner antallet af point I ALT, og lægger dem derefter til det antal point man havde i forvejen



Og i hvilken sammenhæng skulle det hjælpe mig? - Eller bare mig der ikke kan se.. :)

--------------------
Teaching is nessesary for others to learn.



Du har så set forkert... ;)

--------------------
Teaching is nessesary for others to learn.



tager tiden i sekunder og trækker logintid som jeg antager er start tiden i sekunder fra, så det giver hvor mange sekunder du har været logget på:
$onlinetid = time()-$_SESSION[logintid];


antager at $vis[onlinetid] er den totale tid en bruger har været på altid ikke sessionens tid.
hvis så vil det følgende også være den totale tid en bruger har brugt på din side altid:
$nyonlinetid = $vis[onlinetid]+$onlinetid;

Udragner derefter antallet af $kr tjent i total tid, ved et regne stykke der giver lidt over 2kr per time:
$kr = floor($nyonlinetid/100/15);

ligger den totale indtjening oven i hvad der er indtjent:
$nykr = $vis[konto]+$kr;



Hvad dette gør er når du har været på f.eks i 10 timer vil din totale tid være 10*3600=36000 sekunder
Omsat i kroner bliver det til 36000/100/15=360/15=24kr
dette sættes på kontoen.

så næste gang logger du ind i f.eks et sekund, hvad vil gøre at du igen har en total tid på 10 og 1 sekund dette giver ca 24k.
som ligges til kontoen altså står der da 48kr, dette sidste skridt kan gentages igen og igen og vil hver gang ligge 24kr+ til kontoen.
-----------------------------------------------------------------------------

Min side ->www.the-hive.dk/~donp/


Hvordan får jeg den til ikke at give, hvis man så bare lige hurtigt logger ind og ud?
--------------------
Teaching is nessesary for others to learn.



$onlinetid = time()-$_SESSION[logintid];
if($onlinetid>3600){
*giv penge.*
}


men det vil stadig væk ikke rette på fejlen i dit regne stykke, vil kun gøre at man minimum skal være logget på et vidst stykke tid i ovenstående eksempel 1 time.
-----------------------------------------------------------------------------

Min side ->www.the-hive.dk/~donp/



t