Seite 1 von 2

Referrer Auslesen und "Seitennamen" als var. benut

Verfasst: 17.04.2010, 14:35
von Tracker
Hallo,

ich würde gerne mit einem script den referrer (Http_Referrer) auslesen

also z.B. www.meinedomain.de/seitenname.php

diesen dann in seine einzelteile zerlegen

1. domainnamen

2. seitenname

So das ich den seitenname einer variablen zuweisen kann um ihn weiter zu nutzen.

$id = seitenname

danke für die Hilfe

Verfasst:
von

Verfasst: 17.04.2010, 15:09
von Synonym

Verfasst: 17.04.2010, 15:17
von Tracker
Danke, das habe ich auch schon gefunden.

Jedoch komme ich nicht ganz klar :(

Verfasst: 17.04.2010, 15:20
von Abakus Gast
Tracker hat geschrieben:Danke, das habe ich auch schon gefunden.

Jedoch komme ich nicht ganz klar :(
:o woran liegt es den? Was genau verstehst du nicht?

Verfasst: 17.04.2010, 15:24
von Tracker
Ehrlich? alles :)

also eigentlich weiss ich nicht wie ich den "Seitennamen" auslese.

ist es der path?

Verfasst: 17.04.2010, 15:25
von Synonym
Wo ist das Problem?

Du nimmst den Referer $_SERVER['HTTP_REFERER'], packst den in die Funktion parse_url() und als Ergebnis bekommst Du ein Array mit den Werten. Dort nimmst Du halt den "host" und "path" die die Werte enthalten. Die tld und die Dateiendung must Du halt noch entfernen. Oder Du gehst einen ganz anderen Weg über preg_match oder oder oder.

Verfasst: 17.04.2010, 15:26
von Abakus Gast
Poste mal dein Beispiel was du ausgelesen haben willst. Daran kann man dir das für die Zukunft am besten erklären. :wink:

Verfasst: 17.04.2010, 15:27
von Synonym
Ja, der Seitenname steckt im path, steht doch auch im Beispiel. Allerdings dann mit Dateiendung. Wenn Du die nicht brauchst, dann musst Du die eben entfernen mit substring, split oder was auch immer - gibt auch mehrere Wege.

Nachtrag:
Bezüglich dem reinen Dateinamen ohne Pfad und und Endung schau Dir mal das hier an:
https://www.php.net/manual/de/function.pathinfo.php

Verfasst: 17.04.2010, 15:38
von Tracker
Lastminute hat geschrieben:Poste mal dein Beispiel was du ausgelesen haben willst. Daran kann man dir das für die Zukunft am besten erklären. :wink:

referrer = domainname.tld/seitenname.php

und den seitennamen brauch ich :)

Verfasst: 17.04.2010, 15:39
von HeAdLeSs
ich weiß nicht genau was du dann damit vor hast, aber ich hoffe du weißt das der referer nicht gegeben sein muss. Er kann auch einfach mal nicht da sein. Also für eine navi (z.B.) nicht geeignet. ;-)

Verfasst: 17.04.2010, 15:42
von Abakus Gast
Was man damit machen kann , ist eigentlich klar. Mach es so wie Synonym beschrieben hat und so wie es auch im Beispiel auf der Seite steht.

Verfasst: 17.04.2010, 15:45
von Tracker

Code: Alles auswählen

<?php


$file = $_SERVER&#91;'HTTP_REFERER'&#93;;

$info = pathinfo&#40;$file&#41;;
$file_name =  basename&#40;$file,'.'.$info&#91;'extension'&#93;&#41;;

echo $file_name;

?>
oder das

Code: Alles auswählen

<?php


$path = $_SERVER&#91;'HTTP_REFERER'&#93;;

$id = basename &#40;$path,".php"&#41;;

?>


Könnte das Funktionieren ?

Verfasst: 17.04.2010, 15:47
von Synonym
Tracker hat geschrieben:referrer = domainname.tld/seitenname.php

und den seitennamen brauch ich :)
Also wenn Du nur den Dateinamen willst, dann versuch mal das

Code: Alles auswählen

<?php
$referer = 'domainname.tld/seitenname.php';
echo 'Dateiname&#58; '.pathinfo&#40;parse_url&#40;$referer, PHP_URL_PATH&#41;, PATHINFO_FILENAME&#41;;
?>

Verfasst: 17.04.2010, 15:50
von Synonym
Eigentlich geht das so schon, aber nur wenn Du auch wirklich als Referer eine Datei mit .Endung hast und ohne Parameter.

Bei so etwas "domainname.tld/seitenname?param=query" bekommst Du sonst Probleme.

Verfasst: 17.04.2010, 15:55
von Tracker
Da die seite wirklich nur von der eigenen TLD aus angesteuert werden soll dürfte der pfad der kommt eigentlich immer gleich sein.

Nur eben die Seitennamen sind halt variabel :)