Avatar billede webhest Nybegynder
06. februar 2004 - 20:16 Der er 8 kommentarer

Det hele skal regnes sammen!

Hej allesammen!

Jeg spørger igen, det er 7. gang, da de andre ikke har virket optimalt!

Spørgemålet kommer her:

Jeg har en Loginok.php og en logud.php!

Hvis en bruger nu er online på min side i 20 timer og 24 minutter (eksempel), så skal det blive gemt på hans konto og blive udskrevet i loginok "Du har været online i 20 timer og 24 minutter!"

Loginok.php:

<?php
session_start();
if (session_is_registered("usr")) {
include "connect.php";
include "style.php";
?>
<B>Velkommen <?=$_SESSION[usr];?>!</B><br>
Du har været online på chatten i "koden her"<BR>

<? } else { echo"Du er ikke logget ind på nogen bruger! <a href=http://www.webghost.dk>Webghost.dk</a>"; } ?>



Logud.php:
<?
session_start();
session_destroy();
header("Location: index3.php");
?>

Jeg har følgende felter i min db:

sidsttid

onlinetid
Avatar billede webhest Nybegynder
06. februar 2004 - 20:24 #1
Hvordan får jeg gemt brugerens onlinetid, og hvordan får jeg den udskrevet i loginok.php ?
Avatar billede avminarm Juniormester
07. februar 2004 - 15:23 #2
tror du skal over i noget javascript
Avatar billede zeroaim Nybegynder
08. februar 2004 - 05:28 #3
Nej det behøver han nu ikke.

Der er flere måder at gøre det på. Jeg skal desværre til at i seng nu, men vender lige tilbage (forhåbentligt i eftermiddag)

Har adgang til en MySQL database ??? (det ville nok være nemmest at bruge sådan en nemlig)

Mvh.
Henrik
Avatar billede zeroaim Nybegynder
09. februar 2004 - 05:37 #4
Hej igen.

Jeg nåede ikke lige på i eftermiddags. sry.

Jeg vil lige starte med at undskylde mit dumme spørgsmål omkring hvorvidt du bruger en database... Jeg må ha' været meget træt. :-)

Jeg kan ikke lige forstå at du har været nød til at stille det her spørgsmål 7 gange herinde for at få svar, da jeg egentligt ikke synes det er så svært,,,,,,,,, men det kan selvfølgelig være fordi jeg misforstår dit spørgsmål, men så må du prøve at uddybe lidt.

Her er mit umiddelbare forslag.

Når en bruger logger på bruger du "time()" funktionen til at få at vide hvornår han loggede på. time() funktionen giver resultat i "Unix epoch" tid, hvilket vil sige: Antal af sekunder der er gået siden midnat d. 1/1 1970.

eks.
print time()
Kunne gi resultatet: 1076300729 (dette er antallet af sekunder der er gået fra midnat d. 1/1 1970 og til ca. kl. 5:26 d 9/2 2004)

Du kalder altså denne funktion når en bruger logger på, og så gemmer du resultatet i din database, sammen med noget der kan identificerer den aktuelle bruger (bruger id eller,,,).

Når du så har brug for at oplyse en bruger om hvor længe de har været på din side, kalder du bare time() funktionen igen, henter det gemte resultat af time() funktionen fra da han loggede på, og trækker de 2 fra hinanden.

Nu har du så antallet af sekunder brugeren har været på din side, og så er resten jo almindelig matematik derfra !!!

Dit tidligere eksempel hvor brugeren har været online i 20 timer og 24 min. vil gi dig resultatet "73440" når du trækker de 2 Unix epoch tider fra hinanden, og så er det som sagt ren matematik derfra.

Håber du kan bruge det, for hvis jeg har forstået dit spørgsmål rigtigt, så bør det her virke. Men ellers må du lige uddybe lidt på hvad det er du skal bruge, så skal jeg nok kigge ind forbi igen.

Mvh.
Henrik
Avatar billede avminarm Juniormester
09. februar 2004 - 12:06 #5
zeroaim>> du er sørme længe oppe ;o), jeg mente blot hvis det skal være realtime - så er han nødt til at benytte f.eks javascript
Avatar billede zeroaim Nybegynder
11. februar 2004 - 00:28 #6
Hej igen igen :-)

Nu er jeg helt ny indenfor programmering (ca. 6 uger siden jeg startede), så jeg ved ikke lige helt hvad realtime, som du henviser til avminarm, er. :-(

Men med den løsning jeg har foreslået kan han da oplyse hans brugere om hvor længe de har været online, helt ned til sekundet, så jeg fastholder min tidligere udtalelse "det bør kunne bruges" ;-)

Forøvrigt lader det ikke sådan umiddelbart meget til at vi hører mere fra ham... Hmmm... Men vi får at se.

Mvh. Henrik
Avatar billede avminarm Juniormester
11. februar 2004 - 09:54 #7
Hej Henrik

realtime = rigtigtid ;o), det er når man f.eks er logget ind på en side og der er et lille ur der tæller oppe i hjørnet af browser som viser hvor mange minutter du har været logget på, altså noget der ændrer sig i browserbilledet uden at man er "nede og vende" på serveren
Avatar billede zeroaim Nybegynder
11. februar 2004 - 18:16 #8
Okey... Ja så tror jeg at du har ret i at det ligger udenfor PHP... I hvert fald uden for min (meget begrænsede) viden ;-)
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