kostenloser Webspace werbefrei: lima-city


Login-Zeit berechnen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    syberpsace

    Kostenloser Webspace von syberpsace

    syberpsace hat kostenlosen Webspace.

    Hallo Community

    ich habe ein tag/kleines problem">kleines problem, sollte für die php-pros unter euch aber nicht alzu schwer zu lösen sein.
    google hab ich schon mit unterschiedlichen suchanfragen bombardiert, habe jedoch nix gescheites herausbekommen.
    zu meiner frage also:

    beim login auf meiner seite wird die aktuelle zeit mit time() in ein cookie gespeichert. (mag vielleicht nicht die schönste lösung sein, aber fürs erste reichts :D)
    wenn ich jetzt die seite neu lade möchte ich oben angezeigt bekomme "Du bist seit 1:05 Minuten eingeloggt".
    klingt doch alles ganz einfach. aktuelle zeit - zeit aus dem cookie und dass dann mittels date(...) umbasteln.
    nur genau da habe ich wohl irgendwo einen denkfehler.
    denn wenn ich mich um 20:58 einlogge und um 21:11 die seite neulade steht dort ich sei 1 stunde und 12 minuten angemeldet (was natürlich nicht stimmt da es nur 12 minuten sind; eigentlich ja 13 aber die sekunden werden ja nicht angezeigt).
    was mach ich also falsch? oder muss ich einfach nur eine stunde vom ergebnis abziehen?


    mfg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das liegt an der date() Funktion, deshalb musst du dem timestamp 3600 Sekunden abziehen, das entspricht einer Stunde.
    So gehst du dem Problem aus dem weg.
  4. Autor dieses Themas

    syberpsace

    Kostenloser Webspace von syberpsace

    syberpsace hat kostenlosen Webspace.

    grade getestete, funktioniert einwandfrei

    dankeschön

    kann geclosed werden
  5. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Was wäre, wenn einer jetzt seit über einem Tag angemeldet ist?
    Die date() Funktion ist für Daten gedacht und nicht um die Dauer von etwas auszugeben, dazu kannst du eine Funktion wie diese verwenden.

    <?php
    function getDuration($seconds) {
      $sec = $seconds % 60;
      $min = ($seconds%3600 - $seconds%60) / 60;
      $h   = ($seconds%86400 - $seconds%3600) / 3600;
      $d   = ($seconds - $seconds%86400) / 86400;
      return  (($seconds>=86400) ? $d." Tag(e) " : "").
              (($seconds>=3600) ? $h." Stunde(n) " : "").
              (($seconds>=60) ? $min." Minute(n) " : "").
              $sec." Sekunde(n)";
    }
    ?>
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!