Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

REFERRER auslesen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
AGB
PostRank 5
PostRank 5
Beiträge: 205
Registriert: 28.11.2005, 15:23

Beitrag von AGB » 24.02.2007, 14:11

hallo,

ich habe eine einfache php-funktion, in der die variable $HTTP_REFERRER ausgelesen wird. nun ist der referrer ja nicht immer gesetzt. deshalb habe ich einfach um den funktionsaufruf eine bedingung gesetzt:
if ($HTTP_REFERRER != "")
{
meinefunktion()
}

Leider wird die funktion jetzt auch bei gesetztem referrer nicht mehr aufgerufen. wo liegt bitte mein denkfehler?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 24.02.2007, 14:30

Probier mal:

Code: Alles auswählen

if(isset($HTTP_REFERER))
{
funktion
}
oder

Code: Alles auswählen

if($HTTP_REFERER !== "")
{
funktion
}

AGB
PostRank 5
PostRank 5
Beiträge: 205
Registriert: 28.11.2005, 15:23

Beitrag von AGB » 24.02.2007, 14:46

danke. das mit dem isset funktioniert.

Monk
PostRank 2
PostRank 2
Beiträge: 44
Registriert: 23.08.2006, 09:59
Wohnort: bei Frankfurt/Main

Beitrag von Monk » 24.02.2007, 15:00

Die Variable heisst HTTP_REFERER (sic!), nicht HTTP_REFERRER. Der sprachliche Fehler ist leider erst aufgefallen, als das schon spezifiziert und rege in Gebrauch war.

Ich würde bei solchen Tests übrigens prinzipiell if(!empty(...)) nehmen, das erschlägt !isset() und leere Werte in einem.

d0nut
PostRank 5
PostRank 5
Beiträge: 201
Registriert: 19.08.2004, 10:35
Wohnort: Nidderau

Beitrag von d0nut » 24.02.2007, 18:27

eigentlich heißt die Variable ja $_SERVER['HTTP_REFERER']
und so solltest du sie auch im Script verwenden.
https://www.easy-coding.de | Das Coder Forum

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 24.02.2007, 18:42

@Monk:

!empty ist natürlich noch vernünftiger als isset. Guter Hinweis.

bara.munchies
PostRank 9
PostRank 9
Beiträge: 2457
Registriert: 09.06.2005, 09:02
Wohnort: Krung Tep

Beitrag von bara.munchies » 24.02.2007, 19:09

geht nicht auch einfach nur

if($_SERVER['HTTP_REFERER'])
{
funktion
}


?

Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 24.02.2007, 19:53

Monk hat geschrieben:Die Variable heisst HTTP_REFERER (sic!), nicht HTTP_REFERRER. Der sprachliche Fehler ist leider erst aufgefallen, als das schon spezifiziert und rege in Gebrauch war.
...
ist es nicht genau umgekehrt? also mit doppel r die korrekte englische schreibweise?

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 24.02.2007, 20:48

@Nullpointer: ja, eigentlich wird referrer im Englischen mit Doppel-R geschrieben. Bei PHP hatte sich jedoch dieser Schreibfehler mit einem R eingeschlichen. Daher heißt die Variable wirklich HTTP_REFERER, das sic! setzt Monk da zu Recht.

Jetzt könnten wir nur noch darauf wetten, wielange es dauert, bis sich referer gegen referrer auch im normalen Sprachgebrauch durchsetzt.

Edit: Ah :idea: : jetzt habe ich auch begriffen, warum hier plötzlich die Diskussion ob der Schreibweise aufgetaucht ist. Im Eingangspost von AGB stand HTTP_REFERRER. Ich hatte mich schon gewundert, warum sein Code eigentlich nicht funktioniert. :roll:

Monk
PostRank 2
PostRank 2
Beiträge: 44
Registriert: 23.08.2006, 09:59
Wohnort: bei Frankfurt/Main

Beitrag von Monk » 26.02.2007, 11:44

@chris: soweit korrekt. Aber der Fehler stammt nicht von PHP. Der ist ein uraltes Erbstück vom NCSA httpd und hat dann seinen Weg in die RFCs und den Rest der Welt gemacht. Kann sogar sein, dass Berners-Lee selbst dafür verantwortlich ist, weiss ich aber nicht genau.

Hach, bin ich am Montag vormittag wieder ein Klugmeier :)
Monk

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag