PHP und JS Variable mit Frame senden

  • Hi,


    ich habe hier ein kleines Problem, welches mir eine schlaflose Nacht bereitet. Mittels eines Frames, sollen mehrere PHP Variablen sowie Breite und Höhe des Bildschirms übergeben werden. Dazu benutze ich den folgenden Befehl:


    PHP
    1. document.write ('<frame name="Fussnoten" scrolling="no" marginheight="0" target="_top" src="../test.php?var1=<?php echo $var1.'&var2='.$var2.'&var3='.$var3.'&var4='.$var4.'&var5='.$var5.'&size=';?> '+window.screen.width+'x'+window.screen.height+'" noresize>');


    Die PHP Variablen werden auch übergeben. Aber Breite und Höhe leider nicht. Ich finde aber den Fehler nicht. Bin aber auch JS Anfänger. Habt Ihr eine Idee, wie ich das Problem lösen kann? :confused:


    Ich hoffe, Ihr könnt mir helfen. Vielen Dank schon mal im voraus 8)

  • Werden die Variablen nicht übergeben oder stehen sie schon im HTML-Code nicht drin? Sieh' dir den HTML-Quelltext an, den der Browser bekommt.

  • Also die PHP Variabelen werden ja einwandfrei übergeben. Aber die JS Varaiable leider nicht. Wenn ich den Script aufrufe, in das entsprechende Fußnoten Frame klicke und auf Seitenquelltext klicke, erhalte ich u.a.:


    Code
    1. <script>
    2. document.write ('<frame name="Fussnoten" scrolling="no" marginheight="0" target="_top" src="../test.php?var1=test1&var2=test2&var3=test3&var4=test4&var5=test5&size= '+window.screen.width+'x'+window.screen.height+'" noresize>');
    3. </script>


    Im header steht die Zeile:

    Code
    1. http://www.meineseite.de/test.php?var1=test1&var2=test2&var3=test3&var4=test4&var5=test5&size=%20%27+window.screen.width+%27x%27+window.screen.height+%27


    Wenn ich die Variablen der Seite "test.php" mittels "GET" auslese, erhalte ich

    Code
    1. test1
    2. test2
    3. test3
    4. test4
    5. test5
    6. \' window.screen.width \'x\' window.screen.height \'


    Die Fehlerkonsole meldet:

    Code
    1. Zeitstempel: 27.10.2012 12:09:13
    2. Fehler: Die Zeichenkodierung des HTML-Dokuments wurde nicht deklariert. Das Dokument wird in manchen Browser-Konfigurationen mit verstümmeltem Text dargestellt, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Dokument oder Transferprotokoll deklariert werden.
    3. Quelldatei: http://www.meineseite.de/test.php
    4. Zeile: 0


    Hilft das weiter?

  • Hilft das weiter?


    Das sollte dir eigentlich weiterhelfen, oder? Wie man sieht, stimmt ja was mit dem JavaScript-Teil nicht, die Fenstergröße wird ja nicht richtig eingetragen.
    Ich persönlich neige dazu, bestimmte Werte in Variablen zu schreiben und diese dann auszugeben. Diese kilometerlangen Zeilen verwirren in der Regel mehr als sie helfen. Macht auch das debuggen einfacher.
    Ungetestet:

    PHP
    1. <script>
    2. var param = '<?php echo 'var1=' . $var1 . '&var2=' . $var2 . '&var3=' . $var3 . '&var4=' . $var4 . '&var5=' . $var5; ?>';
    3. var w = window.screen.width;
    4. var h = window.screen.height;
    5. document.write ('<frame name="Fussnoten" scrolling="no" marginheight="0" target="_top" src="../test.php?' + param + '&width=' + w + '&height=' + h + '" noresize>');
    6. </script>
  • Jau, danke für den Script. Aber leider funktioniert das nicht. Als link wird


    Code
    1. http://www.meineseite.de/test.php?' + param + '&width=' + w + '&height=' + h +'


    übergeben. Also noch nicht einmal die PHP Variablen:cry: