& (JavaScript) Wie lese ich eine komplette URL aus?
Phil
- php
Hallo!
Nachdem mein Thread in den Annalen des Archives verschwunden ist (der Ei´ntrag ist da, aber der Thread nicht), will ich einen 2. Anlauf starten.
Ich möchte eine komplette URL auslesen (z.B. http://www.domain.de/ordner/index.php?site=bla&id=blubb). Wie man sieht, hängen am Schluss noch Parameter an, die auch ausgelesen werden sollen. Wie mach ich das in PHP und/oder JavaScript?
Z.Z. nutze ich dieses Script, welches aber im Linkaufruf einen "Objekt erwartet"-Fehler ausruft:
im head:
function refer(link) {
link=escape(link);
document.location.href="index.php?site=refer&url="+ link;
}
im body:
<a href="#" onClick="javascript:refer(this.document.location.href)"><img src="images/refer.gif" width="12" height="12" border="0" alt=""></a>
Was soll das Script? Es soll bei Aufruf die Aktuelle URL ermitteln (mit allen Variab´len und Parametern), diese der Funktion überliefern, diese macht die URL HTML-konform und daraufhin wird auf index.php?site=refer&url=[die entsprechende URL] umgeleitet. So! aber warum funzt das net? Oder geht das sogar einfacher?
Danke für eure Help
hallo,
mit PHP ist es sicherlich einfacher:
die sachen nach dem obligatorischen "?" (sprich: querysign),
der $QUERY_STRING ist eine vordefinierte variable in PHP, in JS weiß ich nicht.
auf jeden fall kannst du nach dem querysing die variablen vordefinieren, z.B. mit nem formular:
index.php?variablenname=wert&nochnvariablenname=nochnwert
die auf diese weise eingelesene url stellt die in der url vorhandenen variablen dem PHP zur verfügung, dass heißt du kannst sie dann auslesen,verändern etc.
Beisp.
<?php
echo($variablenname);
?>
hoffe, das hilft
Fabian
Hmm, nicht ganz!
Ich will ja die gesamte URL auslesen und nicht nur einen Teil, sprich die Parameter...
Hmm, nicht ganz!
Ich will ja die gesamte URL auslesen und nicht nur einen Teil, sprich die Parameter...
ok, versuch mal das hier:
(hab noch nicht ausprobiert was die ausgeben, hab grad keinen apache zur hand;-)
$REQUEST_URI;
$HTTP_REFERER;
einfach per echo();
nachschauen, was die ausgeben...
Fabian
Referer unterstützt nicht jeder Browser...
???
PHP ist doch browserunaghängig, mir JS wird das wohl kaum gehen...
also das versteh ich ehrlich gesagt nicht, wie du mit PHP einen string ausgibst, den die browser verschieden interpretieren ;-)
Fabian
und URI lässt die http://www.domain.de links liegen.
mhhh,
dann tut's mir leid, ich weiß auch nicht weiter. *kopfinsandsteck*
wozu musst du denn die ganze url haben, mir reicht der query-string immer aus ?
Fabian
Moin!
Nachdem mein Thread in den Annalen des Archives verschwunden ist (der Ei´ntrag ist da, aber der Thread nicht), will ich einen 2. Anlauf starten.
Es dauert immer ein wenig, bis der Thread im Archiv auch erreichbar ist. Frag mich nicht, warum. Wahrscheinlich muß der Server nacharbeiten, was alles dort eingelagert werden soll.
Ich möchte eine komplette URL auslesen (z.B. http://www.domain.de/ordner/index.php?site=bla&id=blubb). Wie man sieht, hängen am Schluss noch Parameter an, die auch ausgelesen werden sollen. Wie mach ich das in PHP und/oder JavaScript?
Wozu willst du die URL auslesen?
Javascript sollte in window.location.href die benötigte Information speichern, oder auch in document.URL.
Z.Z. nutze ich dieses Script, welches aber im Linkaufruf einen "Objekt erwartet"-Fehler ausruft:
im head:
function refer(link) {
link=escape(link);
document.location.href="index.php?site=refer&url="+ link;
}
Es gibt kein _document_.location.href.
Was soll das Script? Es soll bei Aufruf die Aktuelle URL ermitteln (mit allen Variab´len und Parametern), diese der Funktion überliefern, diese macht die URL HTML-konform und daraufhin wird auf index.php?site=refer&url=[die entsprechende URL] umgeleitet. So! aber warum funzt das net? Oder geht das sogar einfacher?
Diese Aufgabe ist jedenfalls mit PHP relativ narren- und browsersicher lösbar, indem du die URL-Parameter dieser Links gleich bei der Ausgabe generierst (mit urlencode oder rawurlencode).
Die benötigten Informationen, die du vermutlich aus mehreren Variablen zusammensetzen mußt, stehen alle im PHP-Array $HTTP_SERVER_VARS oder $HTTP_ENV_VARS. Ein simples phpinfo(INFO_VARIABLES) liefert dir deren aktuelle Einträge. Dort findest du eigentlich alles, was du wissen mußt. Und wenn du es mit PHP machst, dann funktioniert es unabhängig von Javascript - eine gute Sache, die man unbedingt machen sollte. :)
- Sven Rautenberg
Hallo Phil,
warum nennst du dich eigentlich "Zahnspangenterminator"? Hast du so eine riesige Spange, mit der du aussiehst wie der Terminator? Oder vernichtest du Zahnspangen, sprich du "terminierst" sie?
Viele Grüße
Patrick Canterino
Nix von allem, mir fiel der Name einfach so ein, und such mal im INet nach Zahnspangenterminato(r)... du findest nur Einträge und Seiten von mir...