get parameter werden verschluckt
christian w.
- php
0 hallo0 christian w.0 Axel Richter0 MudGuard0 hallo
Hallo Forum,
der Themenbereich ist etwas falsch gewählt aber es gibt halt keine kombinierten. (JavaScript + PHP)
Also mein Problem, ich habe mir eine kleine Seite zusammengebastellt, mit der ich meine eigentliche Homepage etwas unter die mangel nehmen kann. Die homepage wird in einen iframe geladen und per javascript wird die url an die test seite zurück gegeben.
das problem ist jetzt aber, dass wenn die Homepage get parameter hat, der parser diese natürlich als solche erkennt und weitere verarbeitung somit erschwert.
ich suche also nach einem einfachen weg die & Zeichen zu kodieren. welches zeichen kann ich dafür verwenden?
Gruß
Christian
ursprünglich: &
lass dir doch was einfallen: @, |das_und_zeichen| usw...
lass dir einen einzigartigen string einfallen, durch den du dann die url splitten kannst.
Hallo,
ich muß das mit JavaScript lösen, jedoch habe ich nur sehr wenig Ahnung von JavaScript.
wieso funktioniert das nicht?
var url = parent.preview.location;
var url1 = url.replace(/h/g,"H");
document.write(url1);
ich bekomme immer undefined im firefox als fehlermeldung.
ist url kein string? wenn ja, wie wandle ich das in einen string um?
Gruß, Christian
Hallo,
wieso funktioniert das nicht?
var url = parent.preview.location;
var url1 = url.replace(/h/g,"H");
document.write(url1);
ich bekomme immer undefined im firefox als fehlermeldung.
Wo?
Möglichkeit 1:
Gibt es einen Frame mit dem Namen "preview"? Wenn nicht, dann ist parent.preview undefiniert.
Möglichkeit 2:
ist url kein string?
Ja, wenn parent.preview existiert, dann ist url nach der Zuweisung ein location-Objekt http://de.selfhtml.org/javascript/objekte/location.htm. Das hat natürlich keine Methode replace().
wenn ja, wie wandle ich das in einen string um?
Gar nicht, bzw. mit .toString(), aber das nutzt hier nichts. Allerdings hat location die Eigenschaft href http://de.selfhtml.org/javascript/objekte/location.htm#href. Die suchst Du offensichtlich.
viele Grüße
Axel
Hallo Axel,
wenn ja, wie wandle ich das in einen string um?
Gar nicht, bzw. mit .toString(), aber das nutzt hier nichts.
Warum? Ich möchte in der url Zeichen austauschen! Also im Prinzip schon, wenn ich Dich richtig verstanden habe. Werds gleich mal testen.
MfG, Christian
Hallo,
wenn ja, wie wandle ich das in einen string um?
Gar nicht, bzw. mit .toString(), aber das nutzt hier nichts.
Warum? Ich möchte in der url Zeichen austauschen!
Ja, aber die URL steht _nicht_ in window.location, sondern in window.location.href.
Also im Prinzip schon, wenn ich Dich richtig verstanden habe.
Im Prinzip schon, aber mit einem völlig unsinnigen Missbrauch von Object.toString().
Was hast Du gegen parent.preview.location.href?
viele Grüße
Axel
Hallo Axel,
Was hast Du gegen parent.preview.location.href?
das hasse ich abgrund tief.
nein im Ernst. Hier der Code, wie ich ihn zurzeit habe, zur verständnis:
$source = $_GET['source'];
$start = '../index.php';
if($source) {
$source = ereg_replace("^http://([0-9a-zA-z.]+[^/])/", "http://localhost/", $source);
$source = str_replace(' ', '&', $source);
ini_set("highlight.html", "#13187E");
echo '<pre>';
highlight_file("$source");
echo '</pre>';
exit;
}
// source
echo '</form><form action="" method="post">';
echo '<script type="text/JavaScript"><!--'."\n";
echo 'function source() {'."\n";
echo ' var url = parent.preview.location;';
echo ' var url = url.toString();';
echo ' var url1 = url.replace(/&/g,"+");';
echo ' parent.preview.document.location.href="preview.php?source=" + url1;'."\n";
echo '}'."\n";
echo '//--></script>'."\n";
echo '<input type="hidden" name="resolution" value="'.$res[0].'x'.$res[1].'">';
echo '<input type="button" value=" source " onClick="source()" '.$SubmitButton.'>'."\n";
echo '</form>';
echo '<iframe src="'.$start.'" width="'.$res[0].'" height="'.$res[1].'" name="preview">';
echo 'Frame kann nicht angezeigt werden';
echo '</iframe>';
MfG Christian
Hi,
var url = parent.preview.location;
ich bekomme immer undefined im firefox als fehlermeldung.
ist url kein string? wenn ja, wie wandle ich das in einen string um?
Nein, warum sollte es ein String sein? Du weist url ein location-Object zu, also ist url ein location-Object und keine URL.
Willst Du vielleicht die Eigenschaft href des location-objects verwenden?
cu,
Andreas
das ganze is doch ganz einfach und wurde bereits beschrieben:
parent.dein_window.location.href
oder einfach nur
location.href (ohne frames)
diese url kannst du dann ganz leicht splitten:
var url=parent.dein_window.location.href.split("&");
url[0]...
usw...