Ich habe den Fehler gerade gefunden.. im 2. Beispiel muss bei den Ausdrücken wie &deutsch1=".rawurlencode($_GET['deutsch1'])." das deutsch1 in ''. Warum auch immer, so funktioniert es.
Das ist kein "Wunder", sondern zwingend so vorgeschrieben (du solltest die anderen Vorkommen auch ändern).
Grund: Der Array-Index ist entweder eine Zahl (Zahlen werden in PHP ohne umgebende Zeichen geschrieben):
$array[3]
Oder er ist ein String. Strings werden mit Anführungszeichen geschrieben:
$array['index']
Die Index-Angabe kann auch in einer Variablen selbst liegen:
$index = 2;
$array[$index] -> Zahlzugriff
$stringindex = "index";
$array[$stringindex] -> Stringzugriff
PHP kann auch Konstanten definieren. Die soll man normalerweise GROSSSCHREIBEN, aber zwingend ist das nicht.
define ("index", "irgendwas")
echo index; -> gibt "irgendwas" aus
$array[index] -> Zugriff auf $array['irgendwas']
Wenn du also auf $_GET[deutsch1] zugreifst, und keine Konstante "deutsch1" definiert ist, läuft das schief. Warum es trotzdem mal funktioniert, weiß ich nicht - scheint reine Glückssache zu sein. Oder du hast noch nicht gemerkt, dass es auch nicht funktioniert.
Es geht tatsächlich in Verbindung mit dem scr-Befehl, ich habe beide Varianten ausprobiert:
<?php
echo "<frame name="links" src="links1.php?ko1=".rawurlencode($_GET[ko1])."&name1=".rawurlencode($_GET[name1])."
&deutsch1=".rawurlencode($_GET[deutsch1])."
&fw1=".rawurlencode($_GET[fw1])."
&kr1=".rawurlencode($_GET[kr1])."">";
?>
<?php
echo "<frame name="links" src="links1.php?ko1=".rawurlencode($_GET[ko1])."&name1=".rawurlencode($_GET['name1'])."
&deutsch1=".rawurlencode($_GET['deutsch1'])."
&fw1=".rawurlencode($_GET['fw1'])."
&kr1=".rawurlencode($_GET['kr1'])."">";
?>
Ich hab's jetzt geändert, vielleicht bin ich jetzt nicht mehr auf Glück angewiesen ;-)
Gruss, Christian
- Sven Rautenberg