Ankündigung

Einklappen
Keine Ankündigung bisher.

Array timestamp in Session

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array timestamp in Session

    Hallo,

    ich benötige ein Script, welches mir bei jedem Reload einer Seite den timestamp speichert. Es muss dabei jeder timestamp von allen Seitenaufrufen vorgehalten werden.

    PHP-Code:
    if($_SESSION['time'][0] == "")
    {
    $time[] = time();
    $_SESSION['time'] = $time;
    }
     else
    {
    $time $_SESSION['time'];
    $time[] = time();
    $_SESSION['time'] = $time;
    }

    var_dump($_SESSION['time']); 

    Das funktioniert soweit, allerdings bin ich mir nicht sicher, ob es noch "besser" zu lösen ist? Alternativ vielleicht ohne eine Session.

    Danke für die Hilfe!

  • #2
    Wieso machst du nicht einfach:

    PHP-Code:
    $_SESSION['time'][] = time(); 
    Versuch mal, sollte so auch gehen.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Die Frage ist ja wofür man die alten Zeiten braucht?
      Zwei alternative Wege.bieten sich an
      1. eine Logdatei
      2. eine Datenbank

      In der Session sollten nur den Nutzer identifizierbare Daten vorgehalten werden, meist reicht eine Id aus.

      Kommentar


      • #4
        Code:
        $_SESSION['time'][] = time();
        Funktioniert ja ganz einfach

        Ich brauche die Zeiten, da ich nachweisen muss, wie lang jeweils die Seite besucht wurde.
        Nach dem absenden kann es eigentlich direkt wieder gelöscht werden.
        Dann werde ich wohl besser eine MySQL Tabelle dafür anlegen.

        Danke für die Hilfe!

        Kommentar


        • #5
          Zitat von disem Beitrag anzeigen
          Ich brauche die Zeiten, da ich nachweisen muss, wie lang jeweils die Seite besucht wurde.
          1. Kann das nicht nachgewiesen werden. Du kannst nur die Zeitpunkte der HTTP-Requests mitschreiben, das ist alles.
          2. Warum wird schon wieder das Rad neu erfunden?

          Kommentar


          • #6
            Ich benötige über das Script
            Startzeitpunkt (wann die Seite geöffnet wurde)
            Endzeitpunkt (wann der nächste Link geöffnet wurde)

            Zusätzlich brauche ich noch die gesamte Dauer also erster Link bis zum letzten Link, deshalb der Aufwand.

            Kommentar


            • #7
              Zitat von disem Beitrag anzeigen
              Ich brauche die Zeiten, da ich nachweisen muss, wie lang jeweils die Seite besucht wurde.
              Dazu müsstest Du Client seitig auch die Interaktionen der User tracken, um überhaupt ein halbwegs brauchbares Ergebnis zu erzielen.
              Aber wie schon von hellbringer geschrieben, wird das am Ende immer noch kein echter Nachweis!
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Zitat von disem Beitrag anzeigen
                Ich benötige über das Script
                Startzeitpunkt (wann die Seite geöffnet wurde)
                Endzeitpunkt (wann der nächste Link geöffnet wurde)

                Zusätzlich brauche ich noch die gesamte Dauer also erster Link bis zum letzten Link, deshalb der Aufwand.
                Damit weißt du aber nicht, wie lange eine Seite offen war. Zum Beispiel könnte man mehrere Seiten hintereinander in mehreren Tabs öffnen.

                Kommentar


                • #9
                  Installiere dir Piwik und du brauchst dich nicht weiter nicht zu kümmern.

                  Kommentar


                  • #10
                    Zitat von hellbringer Beitrag anzeigen

                    Damit weißt du aber nicht, wie lange eine Seite offen war. Zum Beispiel könnte man mehrere Seiten hintereinander in mehreren Tabs öffnen.
                    Dann hätte ich zu jedem Seitenaufruf allerdings auch die Zeit, oder wie meinst du das? Das größere Problem ist eher, wenn der Browser geschlossen wird. Dann hätte ich keine Endzeitpunkte, dass soll aber mit Angular lösbar sein.

                    Kommentar


                    • #11
                      Zitat von disem Beitrag anzeigen
                      Dann hätte ich zu jedem Seitenaufruf allerdings auch die Zeit, oder wie meinst du das?
                      Die Öffnungszeit. Aber nicht, wass sie geschlossen wurde. Du weißt nicht, ob die Seite 1 Sekunde, oder 1 Stunde offen ware. Eigentlich weißt du nicht mal, ob die Seite überhaupt in einem Browser geöffnet wurde, denn auch andere Software (z.B. Virenscanner) können HTTP-Requests im Hintergrund schicken, ohne dass die Seite dargestellt wird.

                      Zitat von disem Beitrag anzeigen
                      Dann hätte ich keine Endzeitpunkte, dass soll aber mit Angular lösbar sein.
                      Wozu dann PHP?

                      Kommentar

                      Lädt...
                      X