Avatar billede pytman Nybegynder
26. maj 2004 - 10:25 Der er 16 kommentarer og
2 løsninger

Hvor lang har session varet??

Titlen siger det emste..

Vil abre vede om der findes en function or somf der kan vise hvor lang en session har været...

Har prøvet at lede php.net igennem.. men fandt intet jeg synes var relevant...

Håber i kan hjælpe mig...
Avatar billede Slettet bruger
26. maj 2004 - 10:33 #1
En sesssion varer som oftest til browseren lukkes.

Hvis du vil vide noget om tidsspereferien for hvilken en bruger har været online på dit site, tror jeg du skal benytte dig af et script der begynder at tælle ved besøgets start. Men jeg må indrømme jeg tror det ville blive lavet lettere med JavaScript.
Avatar billede pytman Nybegynder
26. maj 2004 - 10:37 #2
Hmmm det var det sidste jeg hentydet til.. så man kunne holde øje med hvor lang tid brugeren har været på sitet...
Avatar billede sukos Juniormester
26. maj 2004 - 10:37 #3
<?php
session_start();
if(!isset($_SESSION["tid"])) {
$_SESSION["tid"] = time();
}

?>

Så kan du bruge den til at finde tid hvor brugeren har været der.
Avatar billede pytman Nybegynder
26. maj 2004 - 11:48 #4
Jeg prøver det lige
Avatar billede pytman Nybegynder
26. maj 2004 - 12:56 #5
Har nu prøvet det og den udskriver ikke noget når jeg kalder $_SESSION[tid]

print "<font color='Blue'><b>".$_SESSION[tid]."</b></font>";

Sådan kalder jeg den.. hvad gør jeg forkert???
Avatar billede pytman Nybegynder
26. maj 2004 - 15:44 #6
Så virker det... glemte en ; efter "session_start()" i toppen.... Sukos... smider du lige et svar og pointsne er dine...
Avatar billede sukos Juniormester
26. maj 2004 - 16:48 #7
jow da
Avatar billede Slettet bruger
26. maj 2004 - 18:08 #8
Her er en bonus-oplysning:

$varighed=time()-$_SESSION["tid"];

Giver dig antallet af sekunder siden sessionen blev startet.
Avatar billede pytman Nybegynder
27. maj 2004 - 09:55 #9
Hmm.... Det virker fint... Første gang jeg kommer ind på siden.. Men derefter kommer der en sindsygt tal.. ex "17797453.1876" når jeg EX går videre til en anden underside... eller opdatere siden...

Opretter gerne et spørgsmål med flere points hvis i er interreseret...
Avatar billede sukos Juniormester
27. maj 2004 - 10:54 #10
<?php
session_start();

if(!isset($_SESSION["tid"])) {
$_SESSION["tid"] = time();
}

echo $_SESSION["tid"];

echo"<p>";

echo"Du har været online i ". (time()-$_SESSION["tid"]) ." sekunder";
?>
Avatar billede pytman Nybegynder
27. maj 2004 - 11:17 #11
Jamen det virker fint de første par gange... men så ender det altid med et underligt tal.. som er vildt stort..

Har prøvet det her.. For at få min istedet for sek...

Kode:
      $tid = (time()-$_SESSION["tid"]);
      $tid2 = $tid/60;

      echo"Du har været online i ". $tid2 ." minutter";

Og det virker fint den dividere fint og sådan... Men den udskriver det her:

Du har været online i 18094158.0333 minutter...
Avatar billede pytman Nybegynder
27. maj 2004 - 11:19 #12
HAr siddet og prøvet at lege lidt med det nu.. og kan se den kun opføre sig unormalt cirka hver anden gang jeg skifter side eller opdatere siden...

Når det er korrekt udskriver:

echo $_SESSION["tid"]; >-> et tal ligende det der 1085649482

Når det er forkert udskriver den et tal lign. >-> det der 182...

Håber nogen kan hjælpe mig for er rimelig lost.... :S
Avatar billede Slettet bruger
27. maj 2004 - 13:58 #13
Prøv med denne:

<?php
session_start();

if(!isset($_SESSION["tid"])) {
$_SESSION["tid"] = time();
}

echo $_SESSION["tid"];

$sekunder=time()-$_SESSION["tid"];
$minutter= ($sekunder-$sekunder%60)/60;

echo"<p>";

echo"Du har været online i $sekunder sekunder<br>";
echo"Du har været online i $minutter minutter";

?>
Avatar billede Slettet bruger
27. maj 2004 - 14:00 #14
Jeg har forsøgt at imødegå to forskellige mulige problemkilder.

1) Fejl i division
2) konflikt mellem $tid og $_SESSION['tid'] hvis register_globals er til (Jeg ved ikke om det er et problem, men det kan ikke skade at kalde variablen noget andet end session-variablen.)
Avatar billede pytman Nybegynder
02. juni 2004 - 08:10 #15
Har prøvet det der... Det virker fint det hele, til dels... For hver anden gang skriver den et mega langt tal...

Finder lige et sted og smider siden op på... :D så i kan se det
Avatar billede pytman Nybegynder
02. juni 2004 - 08:23 #16
www.altomintet.dk/jesper

Prøv at tjekke det ud.. når du opdatere skriver den et helt underligt tal..
Avatar billede Slettet bruger
02. juni 2004 - 16:25 #17
Prøv at lave if-blokken om for at debugge:

if(!isset($_SESSION["tid"])) {
  $_SESSION["tid"] = time();
  echo "<p>Tid var ikke sat.</p>";
} else {
  echo "<p>Tid var sat</p>";
}

Hvad er det for en variabel, du udskriver bag efter minut-linien?
Avatar billede pytman Nybegynder
03. november 2004 - 10:44 #18
spørgsmål lukket.. har droppet det...
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