带有PHP变量的Open.window传递给它

时间:2013-09-28 06:59:08

标签: javascript php html

如何使用消息变量打开一个窗口?我'米 假设有办法使这个工作,但到目前为止,我没有运气。

echo "<script>myWindow=window.open('','','width=200,height=100');
    myWindow.document.write("$message");</script>";

给出$ message变量的内容...

$message =  "<html><body><table>
        <tr><td><strong>
            Visitor's Name:</strong> ".$_POST['tester_name']."</td></tr>".
        "<tr><td><strong>
        Visitor's E-mail:</strong> ".$_POST['tester_email']."</td></tr>".
        "<br /><tr><td><strong>Answers:</strong></td></tr>";

        $x = 1;
        $y = 0;
        foreach($fields as $key => $field) {
            if (preg_match("/q./", $field)) {
                if ($field == "q3" or $field == "q9") {
                    $cor = (implode(" or ", $corArray[$y]));
                } else {
                    $cor = $corArray[$y];
                }

                $message = $message.
                "<tr><td><em>$x.</em> (
                <b>Response:</b>".$_POST[$field].
                ")</td><td><b>Correct Answer:</b>".$cor."
                </td></tr>";
                ++$x; ++$y;
            }       
             }              

$message = $message."<tr><td><br /><strong>
    Score:</strong> ".$numCorrect."/10 or ".$perc."
        %</td></tr></table></body></html>";

5 个答案:

答案 0 :(得分:0)

尝试:

echo "<script>myWindow=window.open('','','width=200,height=100');myWindow.document.write(\"".$message."\");</script>";

您忘了逃避"内的echo

答案 1 :(得分:0)

正如ra_htial指出的那样,你需要引用引号。此外,如果任何发布的参数具有换行符,则您的代码将不起作用。这将最终终止Javascript语句,它将引发错误。确保为换行符正确切换值。还要在浏览器中启用javascript错误报告。此外,您还可以从脚本中查看生成的源代码,这将帮助您查找由新行终止的确切语句。

答案 2 :(得分:0)

你可以做这项工作:

  1. 创建一个php文件,其中包含创建表格的功能。
  2. 创建一个标准网页宽度为空白的页面。
  3. 稍后,当您打开弹出窗口时,将变量设置为第二页。 第一页的第二页调用函数,带有您收到的参数。

    我建议您使用framework制作应用。

答案 3 :(得分:0)

您可能希望base64_encode消息并通过$ _GET参数传递它。在接收消息的页面上,只需使用base64_decode获取原始文件。

答案 4 :(得分:0)

以下是转换代码时需要了解的所有内容,将其另存为php页面并在浏览器中打开以查看源代码将其拼凑在一起:

<?
$myPhpCalculations = "php within html example:" . 1234;
$message =  "<p>my string with some quotation marks escaped: \" \" \": " . $myPhpCalculations . "</p>";

echo "<script>myWindow=window.open('','','width=200,height=100');
    myWindow.document.write('" . stripslashes($message) . "');</script>";

?>

基本上,如果您使用引号在$ message中保存字符串,则必须在该字符串中转义任何引号。然后使用stripslashes()函数追加它,以避免破坏回显到页面的html代码。