Variablen quoten bei Datenübergabe?

Ruediger

Erfahrenes Mitglied
Hallo zusammen,

ich bräuchte eure Hilfe, ich habe eine URL, die wie folgt aussieht:

PHP:
<a href="link.php?nr=$nr&target=http://www.web.de/trans.php?views=10&hits=50">

Meine Datei link.php fungiert quasi als Redirect und protokolliert die Aufrufe. Das Problem ist, dass ich in der link.php auf die $target weiterleite, aber wenn die URL wie oben noch weitere Variablen wie ?views=... oder &hits=50 enthält nimmt er nur die URL bis zum "?". Ich habe gesehen, dass ich "&" Zeichen ersetzen kann aber wie kann ich das mit den ? machen?

jemand eine idee?
gruß
ruediger
 
PHP: urldecode
JavaScript: escape()

Allerdings muss der String schon eine HTTP-valide URL umgewandelt werden, wenn er in den Link geschrieben wird, also nicht erst in der link.php.

Oder du wertest $_SERVER['QUERY_STRING'] selber aus. Ist aber weniger schön.
 
Vielen Dank,

habe eben folgendes gefunden, was meint ihr dazu?

Never use urlencode to pass an url in a query string.

Browser and Javascript depending version silently decode url various number af time.

So if you want to pass an url in a query string use
<?php
function urlprotect($url) {
return strtr(urlencode($url),"%","-");
}
function urlunprotect($protecteddurl) {
return urldecode(strtr($protectedurl,"-","%"));
}

?>
 
Hallo nochmal,

ich habs jetzt mit urlencode() versucht. Er zeigt mir aber teilweise (nicht immer) auf der nächsten Seite einen Fehler an:

"Nicht abgeschlossene Zeichenfolgenkonstante"

Ideen?
danke
ruediger :rolleyes:
 
Zurück