繁体   English   中英

PHP:如何在JS中打开新窗口并从PHP中回显

[英]PHP: How to open a new window in JS and echo from PHP into it

进行调试,原因是我经常使用PHP函数var_dump()

<pre>
  <?php
    var_dump($myVariablesArray);
  ?>
</pre>

但是我需要将其内容(以及更多用于调试的内容)输出到新的弹出窗口中。

有几个有关打开新JS窗口的示例,但是我找不到任何帮助我打开新窗口并从PHP打印到其中的信息,所有这些在加载调试页面时自动完成。

有什么提示吗?

您可以var_export() 然后将其附加到服务器上txt的开头。 然后,您可以在第二个窗口中有一个小脚本,该脚本每5秒刷新一次,并显示该txt文件。 很像日志

http://www.php.net/manual/zh/function.var-export.php

专家:您可以在两次运行之间保留txt,并保存输出。

缺点:格式与var_dump()略有不同

我解决了这个问题,这要归功于有关向新打开的窗口添加内容的建议

在需要调试的页面上,添加以下代码(如果会话未启动,则需要添加“ session_start();”):

<?php
$_SESSION['varsLog'] = "<pre>".htmlspecialchars(print_r($myVariablesArray))."</pre>\n";
?>
<script type="text/javascript">
$(document).ready(function () {
var OpenWindow = window.open("/empty.html", "phpLog", 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1400,height=640');
});
</script>

然后在域的根目录下有empty.html页面:

<?php session_start(); if (!isset($_SESSION['varsLog'])) { exit(1); } ?>
<html><body>
<?php
echo date(DATE_RFC822); 
$refer = $_SERVER['HTTP_REFERER'];
echo "<br><br>Variables from <a href=".$refer.">".$refer."</a><br><br>";
echo $_SESSION['varsLog'];
unset($_SESSION['varsLog']);
?>
</body></html>

这样,我可以将第一个代码段添加到我需要调试的任何页面上,每次加载这些页面时,我先前打开的新窗口将使用最后加载的页面中的变量进行更新,并带有有用的引用url和时间戳为了确定。

感谢大家的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM