Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 17:20 Der er 21 kommentarer og
1 løsning

Problemer med community

Hej Eksperter.

Jeg har lavet et community hvor man for onlinetid. Men som ved så mange andre ting er der nogen måder at snyde på. Hvis man logger ind i mit community og sætter den til at være automatisk logget ind hver gang man kommer ind på siden, så kan man gå ind på min side 40 gange altså ha 40 vinduer åbent. Og så få 40 sekunder hver gang der er gået 1. Jeg kan ikke finde nogen løsning, så er der nogen der kan hjælpe. Mit timesystem er lavet på den måde at et iframe henter en fil minut.php som så giver 1 minut hver gang der er gået 1 min.

Men håver nogen kan hjælpe.

- Henrik.
Avatar billede barklund Nybegynder
08. maj 2005 - 17:22 #1
Jeg gav dig da en fin løsning i dit forrige spørgsmål (som også ville løse dette) - som du dog valgte overhovedet slet ikke at kommentere. Så hvis det er behandlingen, så har jeg ingen forslag :)
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 17:36 #2
Jamen forstod det slet ikke?
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 18:30 #3
Kan du forklare dig lidt bedre??
Avatar billede barklund Nybegynder
08. maj 2005 - 18:33 #4
Hver gang du opdaterer onlinetid, så registrer du hvad klokken er (ved at indsætte NOW()). Næste gang du skal opdatere tester du først, at der blev opdateret for mindst et minut siden sidst. Det er da ligetil?
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 18:35 #5
hvordan skal jeg teste hvor meget tid brugeren har LIGE nu??
Avatar billede barklund Nybegynder
08. maj 2005 - 18:37 #6
Du har to felter, et til antal minutter og et andet til seneste opdatering. Antal minutter er det samme som det hele tiden har været...
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 18:48 #7
et felt til det man har ialt altså onlinetid, og et felt til at teste om man har 60 sekunder eller ej som vi kalder tidnu ? men forstår ikke, hvilken funktion skal man bruge for at se hvad brugerens tid er LIGE nu?
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 18:58 #8
time(); eller :S?
Avatar billede barklund Nybegynder
08. maj 2005 - 19:16 #9
NOW() hedder det i SQL.

Så det bliver noget med:

$id = $_SESSION['id'];
$nylig = mysql_query(sprintf("SELECT COUNT(1) FROM brugere WHERE id=%d AND tidnu<DATE_SUB(NOW(), INTERVAL 1 MINUTE)", $id));
if (mysql_result($nylig, 0) != 0) {
    mysql_query(sprintf("UPDATE brugere SET onlinetid=onlinetid+1, tidnu=NOW() WHERE id=%d", $id));
}

Det virker vist mere eller mindre fornuftigt :)

--
Morten Barklund
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 19:24 #10
okay, men hvilken fil skal det være i??? min index fil på min side.. man skal vel ikke til at sætte det ind på alle sider??
Avatar billede barklund Nybegynder
08. maj 2005 - 19:30 #11
Har du ikke kun én fil, der opdaterer online tid? Altså en minut.php ting?
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 19:36 #12
Jo, men der har jeg et iframe på index som henter minut.php hvert minut...
Avatar billede barklund Nybegynder
08. maj 2005 - 20:06 #13
Og det er i din minut.php, det skal ind - det er jo et modificeret "tilføj minut til onlinetid" script - hvis du ikke har læst det endnu.
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 20:51 #14
virker ikke..
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 20:52 #15
man for 2 minutter af gangen :S
Avatar billede barklund Nybegynder
08. maj 2005 - 20:54 #16
Du skal jo fjerne det gamle script... derudover aner jeg ikke, hvordan det ikke virker.

Hvis du ikke kunne gætte det, så er "virker ikke" verdens mest ubrugelige fejlmeddelelse, som kun microsoft og irriterende brugere kommer med :/
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 20:56 #17
hm.. ingen fejlmeddelelser.. :S, men ved ikke om det virker endnu... tager noget tid at teste, men lig lige et svar så acceptere jeg dig hvis det virker :) ok?
Avatar billede barklund Nybegynder
08. maj 2005 - 21:26 #18
Godt så....
Avatar billede henrik_nielsen Nybegynder
08. maj 2005 - 21:54 #19
Nej, det virker slet ikke se selv www.specks.dk
Avatar billede barklund Nybegynder
08. maj 2005 - 22:00 #20
Hvordan virker ikke? Har du testet om scriptet virker alene? Altså prøv at kalde minut.php direkte et par gange - og se om den opdaterer når den skal og lader være når den ikke skal?
Avatar billede henrik_nielsen Nybegynder
11. maj 2005 - 09:05 #21
ja, det virker ikke ;S tror bare jeg glemmer det :-/
Avatar billede barklund Nybegynder
11. maj 2005 - 10:57 #22
Ja dig gider jeg nok ikke hjælpe igen.

Du kan tydeligvis ikke debugge selv og komme med nogle intelligente feedback-muligheder til mig og ender med at snuppe det hele selv.

Held og lykke... :/
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