problem mit urlübergabe von php an flash und zurück
Ron
- programmiertechnik
Hallo,
folgendes Situation:
Ich habe eine Seite mit einem Iframe in dem sich der Content befindet.
In der Hauptseite befindet sich ein Flashmenue.
Wenn jetzt eine Unterseite allein aufgerufen wird, soll die Hauptseite mit dem Flashmenue nachgeladen werden (der Flashfilm springt dann an eine bestimmte Stelle, je nachdem welche Rubrik aufgerufen wird) und in das Iframe die aufgerufene Unterseite geladen werden.
Funktioniert auch soweit.
Per Javascript wird geprüft ob sich die Datei in einem Frame befindet.
Wenn nicht wird eben nachgeladen.
<script type="text/javascript">
if (top.frames.length < 1) {
location.href="../../index.php?rubrik=photo&site="+window.location;
}
</script>
In der Hauptseite wird per PHP geprüft ob es die Variable "site" gibt.
Wenn ja wird der Flashfilm an eine bestimmte Stelle gespielt und die Unterseite in das Iframe geladen.
PHP-Teil in der Hauptseite:
<?php
if ($_GET["site"]!="") {
$adresse = $_GET["site"];
$welcherubrik = $_GET["rubrik"];
}
?>
Flashfilmaufruf in der Hauptseite:
<param name="movie" value="flash/menue.swf?welcherubrik=<?php echo $welcherubrik; ?>&welcheseite=<?php echo $adresse; ?>" />
Der Flashfilm spielt dann an die richtige Stelle und übergibt per getURL(welcheseite, "dasiframe"); dem Iframe den Pfad der Unterseite.
Nun mein Problem:
Bei der Übergabe des Pfades der Unterseite an das Iframe geht der letzte Teil verloren.
Nach Ausführung des Frame-nachladen-Javascripts sieht man folgende Url im Browser:
http://www.meineseite.de/index.php?rubrik=photo&site=http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Fotograf+Eins&
site ist die Variable die übergeben wird und den Pfad enthält:
http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Fotograf+Eins&
Ankommen tut aber nur:
http://www.meineseite.de/consulting/photo/detail.php?nr=2
&rubric=Fotograf+Eins kommt nicht an.
Mit print_r($_SERVER); in der Datei "detail.php" sehe ich das:
GET [REQUEST_URI] => /consulting/photo/detail.php?nr=2
ergibt. Es fehlt wie gesagt das "&rubric=Fotograf+Eins" und funktioniert deshalb nicht.
Weiss jemand was ich falsch mache und kann mir helfen?
Gruß Ron
Hi,
http://www.meineseite.de/index.php?rubrik=photo&site=http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Fotograf+Eins&
site ist die Variable die übergeben wird und den Pfad enthält:
http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Fotograf+Eins&
Nein, das ist nicht der Wert des Parameters site.
Parameter-Wert-Paare werden durch & voneinander abgetrennt, und mit &rubric beginnt also logischerweise ein neues solches.
Ankommen tut aber nur:
http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Fotograf+Eins kommt nicht an.
Weiss jemand was ich falsch mache und kann mir helfen?
Du hast die Werte, die du uebergeben willst, nicht fuer den Kontext "URL" passend kodiert.
MfG ChrisB
Hallo Chris,
danke für deine antwort.
ich glaube ich verstehe was du meinst.
Du hast die Werte, die du uebergeben willst, nicht fuer den Kontext "URL" passend kodiert.
wie würde man die Werte für fuer den Kontext "URL" passend kodieren?
und an welcher Stelle?
Im Flashfilm? oder vorher?
Stehe irgendwie auf dem Schlauch...
Gruß Ron
Hallo Chris oder wer immer...
Du hast die Werte, die du uebergeben willst, nicht fuer den Kontext "URL" passend kodiert.
Jetzt bin ich einen Schritt weiter...
URL codieren müsste ich wohl vor der Übergabe mit Javascript.
Und da weiss ich nicht wie man normalerweise vorgehen würde, da ich das ja anscheinend mit Javascript machen müsste.
<script type="text/javascript">
if (top.frames.length < 1) {
location.href="../../index.php?rubrik=brand&site="+window.location;
}
</script>
window.location wäre z.b.:
http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Vlad+Antonov&
Wenn ich dann mit PHP auf der Indexseite mit:
echo $_GET["site"];
site ausgebe: erhalte ich
http://www.meineseite.de/consulting/photo/detail.php?nr=2
anstatt:
http://www.meineseite.de/consulting/photo/detail.php?nr=2&rubric=Photograph+Eins&
Wie würde man das lösen? bzsw. codieren?
Über hilfe würde ich mich sehr freuen...
Gruß Ron
Hi,
URL codieren müsste ich wohl vor der Übergabe mit Javascript.
Dann sollte encodeURIComponent() hilfreich sein.
MfG ChrisB
Hallo ChrisB,
danke für deine Antwort....
ich habe es nun hinbekommen.
Erfolg hatte ich indem ich einfach den verschluckten Rest gesondert nochmal abfrage ohne dekodieren....
Gruß Ron
Hi,
URL codieren müsste ich wohl vor der Übergabe mit Javascript.
Dann sollte encodeURIComponent() hilfreich sein.
MfG ChrisB