Peter Große: Variable HTTP_REFERER auslesen, weitergeben und mailen

Meine Seiten (Frameseiten) werden von der index.htm oder index.shtml

(eventuell mit ssi -server side include)
aufgerufen.

Die erste Seite darf  keine php-seite sein, da diese nicht von

Suchmaschinen gelistet würde.

Ich hätte gern ähnlich dem ssi-befehl
<!--#echo var="HTTP_REFERER"-->
(funktioniert prima, zeigt referer komplett mit suchbegriffen an.)
eine Möglichkeit, den Inhalt von HTTP_REFERER
in einer neuen Variablen zu speichern , in der Art:

<!--#set var="irgendeinname" value="HTTP_REFERER"-->

Ich weiß aber 1. nicht , ob das geht und 2. , ob diese global gilt.
Meine Seiten liegen bei puretec (1und1) - global ist zugelassen.

Dann klickt der Besucher weiter, bis er mir irgendwann eine NBachricht

schickt (erst ein Formular auf einer php-seite ausfüllt, senden drückt

und damit die Seite Kontakt.php aufruft, die mir eine Mail schickt.)

In dieser hätte ich gern die Variable "irgendeinname", die den

ursprünglichen Referer enthält.

Das ist das Hauptproblem.
Schön wäre, wenn aller 50 Besucher eine Mail mit allen Variablen
"irgendeinname" zu mir käme.
Dann würde ich sehen : Kunden kommen von ... und über Suchbegriffe:

...

Und 2.
Besucher genauso.

Wer kann helfen ?
Danke

  1. Zuallererst: Moin!

    Meine Seiten (Frameseiten) werden von der index.htm oder index.shtml

    (eventuell mit ssi -server side include)
    aufgerufen.

    Die erste Seite darf  keine php-seite sein, da diese nicht von
    Suchmaschinen gelistet würde.

    Stimmt nicht. Mit Parametern in URLs haben Suchmaschinen _unter Umständen_ Probleme, Google aber zum Beispiel garnicht. PHP ist außerdem eine verbreitete Technik - das können auch Suchmaschinen nicht ignorieren.

    [Unverständliches Zeug gelöscht]

    Das ist das Hauptproblem.
    Schön wäre, wenn aller 50 Besucher eine Mail mit allen Variablen
    "irgendeinname" zu mir käme.
    Dann würde ich sehen : Kunden kommen von ... und über Suchbegriffe:

    Werte deine Logfiles aus. Nimm dazu eines der vielen Statistikprogramme für Logfiles, die existieren. Es gibt auch kostenlose Programme - dabei muß man allerdings auf ein komfortables Klicki-Bunti-Interface verzichten und in Textdateien konfigurieren, was man will.

    Logfiles gibts bei 1&1 im Ordner /logs.

    Ansonsten mußt du dich einerseits mit Sessions vertraut machen (da du PHP nutzt, ist das nicht unbedingt das Problem), und andererseits mit dem Datenschutzgesetz! Das Zusammenführen von persönlichen Daten und Surfaktivitäten ist nur dann gestattet, wenn du den Benutzer darüber informierst, daß du dieses tust. Entsprechendes gilt für den Einsatz von Cookies und die Datensammelwut im Kontaktformular (je weniger Pflichtfelder, desto weniger Streß mit dem Datenschutz gibt es).

    - Sven Rautenberg

  2. Hi,

    Die erste Seite darf  keine php-seite sein, da diese nicht von
    Suchmaschinen gelistet würde.

    ein Server hat im Normalfall nicht die geringste Ahnung, ob Deine
    Seite statisches HTML enthält oder dynamisch per PHP etc. generiert
    wird. Es sei denn, Du verwendest eine Namensyntax, die ihm zumindest
    Anlaß zum Mißtragen gibt ... das mußt Du ja aber auch nicht tun.

    Ich hätte gern ähnlich dem ssi-befehl
    <!--#echo var="HTTP_REFERER"-->
    (funktioniert prima, zeigt referer komplett mit suchbegriffen an.)
    eine Möglichkeit, den Inhalt von HTTP_REFERER
    in einer neuen Variablen zu speichern , in der Art:
    <!--#set var="irgendeinname" value="HTTP_REFERER"-->
    Ich weiß aber 1. nicht , ob das geht und 2. , ob diese global gilt.

    Der Begriff "global" existiert in Deinem Kontext nicht.

    HTTP-Zugriffe sind unabhängig voneinander; es existiert nicht per
    Definition ein Konzept eines zusammenhängenden Dialoges oder einer
    "Session". So etwas muß man selbst programmieren, wenn man es will.

    In dieser hätte ich gern die Variable "irgendeinname", die den
    ursprünglichen Referer enthält.

    Dazu würdest Du diesen Referrer von Seite zu Seite durchreichen müssen

    • sinnvollerweise als zusätzlichen Parameter des Query-Strings.

    Wie Du auf Environment-Variablen zugreifst, weißt Du ja bereits;
    auch der QUERY_STRING ist eine solche Variable.
    Nun müßtest Du diesen Wert "einfach nur" an jeden Link jeder Deiner
    Seiten anhängen (per SSI-Direktive).
    Und natürlich müßten alle Deine Seiten vom SSI-Parser verarbeitet
    werden - schon eine einzige statische Seite auf dem Weg zum Ziel
    würde den Informationsfluß abreißen lassen. Schlimmer noch: Diese
    Seite würde _ihren_ URL als Referrer an die nächste Seite senden
    und Du würdest _sie_ nun für die Einstiegsseite halten.

    Dann würde ich sehen : Kunden kommen von ... und über Suchbegriffe:

    Im Prinzip muß ich mich allerdings Sven anschließen: Sofern Dein
    Webserver Referrer-Informationen (die übrigens keineswegs zuverlässig
    und in modernen Browsern sogar abschaltbar sind) in seiner Protokoll-
    Datei mit speichert, kannst Du die Wege innerhalb Deines Webspace
    sinnvoller über entsprechende Logfile-Analyse-Software auswerten.

    Viele Grüße
          Michael