Ergebnis 1 bis 4 von 4

Thema: Referer von Besucher über mehrere Seitenaufrufe merken / gibt es eine Session-ID?

  1. #1
    Contao-Nutzer
    Registriert seit
    22.04.2013.
    Beiträge
    89

    Standard Referer von Besucher über mehrere Seitenaufrufe merken / gibt es eine Session-ID?

    Ich habe in meiner Contao Website eine Buchungsseite. Bei einer Buchung möchte ich wissen, woher die Benutzer gekommen sind. Das bedeutet, ich muss mir den Referer beim erstmaligen Aufruf einer Seite merken und diesen gemerkten Referer auf der Unterseite für die "Buchung" verarbeiten. Das Merken mache ich mit einem Seitenmodul, in dem ich einen kleinen PHP-Code habe:

    PHP-Code:
    <?php
    # 1. Einstieg: referer nicht leer & nicht eigene Seite => Session Referer setzen
    if ( $_SERVER["HTTP_REFERER"] !== '' ) {                                            # referer nicht leer
         
    if     ( str_contains($_SERVER["HTTP_REFERER"], $_SERVER["HTTP_HOST"] ) == false )    # nicht von eigener Domain
            
    $_SESSION["beds24-referer"] = $_SERVER["HTTP_REFERER"]; }                # Herkunft in eigenem Session Referer merken
         
    }    
      
    # LOG funktion
    $handle fopen("/home/strato/http/premium/rid/00/00/00000000/htdocs/domain_de/contao/templates/referrer-log.txt""a");
    fwrite($handle,date("d.m.Y H:i:s",$timestamp).';'.$_REQUEST['PHPSESSID'].';'.$_SESSION["beds24-referer"].';'.$_SERVER["HTTP_REFERER"].';'.$_SERVER["REQUEST_URI"].PHP_EOL); // in Datei schreiben
    fclose($handle);  
      
    ?>
    Jetzt am Anfang möchte ich die Seitenaufrufe zusätzlich protokolieren. Dabei würde ich für die einzelnen Seitenaufrufe gerne die Session-Id mit abspeichern, so dass ich alle Seitenaufrufe eines einzelnen Besuchers erkennen kann. Kann mir jemand sagen, wo ich diese finde? Ich vermute doch, dass Contao für jeden Besucher eine Session-ID oder eine ähnliche eindeutige Identifikation mitführt?
    Geändert von d003232 (21.02.2024 um 18:17 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Eine Session wird nur gestartet, wenn eine benötigt wird. In deinem Fall musst du die Session selbst starten.

    Die Session bekommst du aus dem Request Objekt. Ebenso den Referrer. Diese Super globals solltest du nicht direkt nutzen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    22.04.2013.
    Beiträge
    89

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Eine Session wird nur gestartet, wenn eine benötigt wird. In deinem Fall musst du die Session selbst starten.

    Die Session bekommst du aus dem Request Objekt. Ebenso den Referrer. Diese Super globals solltest du nicht direkt nutzen.
    Sorry ich bin schon etwas durcheinander, nachdem ich verschiedene Session Werte ausprobiert habe. Ich nehme an mit Session starten meinst Du "session_start()"?

    Warum die Globals nicht direkt nutzen? Ist das nicht das gleiche wie "$_SERVER["HTTP_REFERER"]" ? Da bekomme ich einen sinnvollen Wert, den ich mir merken kann. Ich nehme an, das ist der Wert aus dem http Request Objekt, das du meinst?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Zitat Zitat von d003232 Beitrag anzeigen
    Sorry ich bin schon etwas durcheinander, nachdem ich verschiedene Session Werte ausprobiert habe. Ich nehme an mit Session starten meinst Du "session_start()"?
    Nein
    PHP-Code:
    $request->getSession()->set(); 
    Das startet automatisch die Session. Siehe https://symfony.com/doc/5.x/session.html
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •