Werte per URL uebergeben?

Suchfunktion

Erfahrenes Mitglied
Hi!

Ich moechte eine URL per URL uebergeben:
"http://www.foobar.de/index.html?backUrl=http://www.blablubb.de/index.html?id=123&bla=blubb"

Problem:
Die "backUrl" wird nicht korrekt uebergeben, da bei "&bla=blubb" die Werte als Attribute der Ziel-Adresse angesehen werden und nicht als Attribute der backURL.

Im Grunde passiert also eher folgendes:
Link: "http://www.foobar.de/index.html?backUrl=http://www.blablubb.de/index.html?id=123&bla=blubb"
Interpretation: "http://www.foobar.de/index.html?bla=blubb&backUrl=http://www.blablubb.de/index.html?id=123"

Das Attribut wird also der falschen URL "zugewiesen".
Wie kann ich das korrigieren

Ich weiss auch, dass es theoretisch garkein wirkliches PHP-Problem ist, aber im HTML-Forum waer es vmtl. genauso fehl am Platz gewesen wie hier..

mfg
Fabian
 
"http://www.foobar.de/index.html?backUrl=http://www.blablubb.de/index.html&id=123&bla=blubb"

Hast ein ? statt einem & im String
Du übergibst alle Variablen dem Script und lässt im Script dann die URL mit den Parametern wieder zusammensetzen. Dann machst du nen
header("Location:".$backurl.$parameter1.$parameter2 ); und leitest ihn auf die neue Seite inkl. Parameter weiter... ich denke nicht das es funktionieren kann die Parameter UND die Url als String an das Script zu übergeben.

MFG
Sandro
 
"http://www.foobar.de/index.html?backUrl=http://www.blablubb.de/index.html&id=123&bla=blubb"

Hast ein ? statt einem & im String
Tippfehler ;-)

Du übergibst alle Variablen dem Script und lässt im Script dann die URL mit den Parametern wieder zusammensetzen. Dann machst du nen
header("Location:".$backurl.$parameter1.$parameter2 ); und leitest ihn auf die neue Seite inkl. Parameter weiter... ich denke nicht das es funktionieren kann die Parameter UND die Url als String an das Script zu übergeben.

Uuuuuhm ja nee das geht leider nicht.
Ich kann nur via HTML-Formatierung den bereich hinter "?backUrl=" anpassen.
An den Source, der die URL generiert, komme ich leider nicht dran :-(

Folgendes Problem besteht:
HTML:
<a href="index.php?id=1&amp;L=2#" onclick='window.open("/index.php?id=85&L=2&tipUrl=http://www.foobar.de/index.php?L=2&id=8" , "tip", "width=800,height=300,left=0,top=0,scrollbars=no,menubar=no, resizable=1");' class="META_link">Tell A Friend</a>

Das einize, was ich daran anpassen kann, ist der bereich "&tipUrl=http://www.foobar.de/index.php?L=2&id=8", den kann ich formatieren. Ich kann kein Script anpassen und nix :-(
 
Zuletzt bearbeitet:
An was für ein Script übergibst du denn die URL?
Wird die URL von einem PHP-Script verarbeitet?
An HTML wirst du es ja denke ich mal nicht übergeben, da man ja mit HTML nix anfangen kann mit URL-Vars.. Javascript evtl noch aber da weiss ich auch net ob man da URL-Vars nutzen kann.. da du es in den PHP-Bereich gepostet hast, gehe ich davon aus das ein PHP-Script die Variablen übernimmt und dann weiter verarbeitet.
Dann hast du irgendwo im Script zu stehen

my_func($uebergebene_url)

Oder etwas ähnliches... auf jedenfall wirst du die URL ja irgendwo nutzen. Und anstatt die URL direkt zu nehmen wie sie übermittelt werden soll ( inkl Parameter ) nimmst du die Parameter und die URL und setzt diese dann zusammen. Dann kannst du damit im Script ganz normal weiterarbeiten...

Ansonsten wäre es nett wenn du nen stückchen Code posten könntest, wie du die URL momentan nutzt..

MFG
Sandro :)
 
Uhm ja, okay, erstmal die basics:
Es handelt sich dabei um eine Typo3-Extension. Bedingt durch die Upgrade-Kompatibilitaet kann und will ich NICHT im Code der Extension "rumbasteln".

Ich dachte nur, man koennte die backUrl mir " (Anfuehrungszeichen) umschliessen oder aehnliches..

Gibt es da keine Moeglichkeit :-(
 
Du könntest mal versuchen die gesamte BackURL mit den HTML Special Chars zu maskieren. Dadurch würde es nicht direkt als URL anerkannt, sondern eben nur als Parameter (zumindest bei mir im Kurztest).
 
Naja, das einzige, was ich damit hab 'umbasteln' koennen, war das &-Zeichen in der uebergebenen URL. Und das klappt nicht :-(

Soll heissen:
Es hat leider nichts gebracht. Die Attribute der uebergebenen URL werden als Attribute der ZIEL-Url verwendet :-(
 
Sorry, mein Fehler.

Die perfekte Lösung wäre natürlich [phpf]urlencode[/phpf] zu benutzen, allerdings sagst du ja, dass du nur den HTML Code verändern kannst/willst.


Dadurch wird zum Beispiel diese URL:
http://www.test.bla/index.php?L=2&T=4
zu
http%3A%2F%2Fwww.test.bla%2Findex.php%3FL%3D2%26T%3D4

Dies müsstest du nun per Hand durchführen.

Leider hab ich spontan keine Liste mit den Zeichen gefunden.
 
Super Sache!

Hab es mit urlencode(); hinbekommen:
Code:
/index.php?id=85&L=2&tipUrlhttp%3A%2F%2Fwww.foobar.de%2Findex.php%3FL%3D2%26id%3D8

Funktioniert super!
Vielen, vielen Dank !
 
Zurück