【问题标题】:Frames with PHP使用 PHP 的框架
【发布时间】:2011-01-05 03:43:17
【问题描述】:

我可以在 PHP 中使用 HTML 框架吗?

我以为我可以做到这一点..

<?php
session_start();
require("auth.php");
require("do_html_header.php");
if($_SESSION['SESS_admin'] == 0)
require("do_menu.php");
else
require("do_menu3.php");

do_html_header();
print"<h1>Welcome ". $_SESSION['SESS_FIRST_NAME']."!</h1>";
do_menu();
?>
</body>

<frameset rows="50%,50%">
<frame noresize="noresize" src="limits.php" />
<frame noresize="noresize" src="limits.php" />
</frameset>

</html>

我到处都放了它,但它似乎没有出现..

Google 让我很困惑。

提前致谢:D

【问题讨论】:

  • 框架实际上与 PHP 无关。只要 PHP 脚本输出有效的 HTML,一切都会正常工作。您在上面显示的内容(同一文档中的 body 和 frameset 元素)不是有效的 HTML

标签: php html frames


【解决方案1】:

您可以将 PHP 与 HTML 框架集一起使用,但您不应该在框架集页面的 &lt;body&gt; 元素中输出任何内容(即使这样,它也应该是 &lt;noframes&gt;,而不是 &lt;body&gt;)。内容位于您的 &lt;frame /&gt; 元素所包含的各个页面中。

无论如何,不​​要使用框架。 PHP 作为一种模板语言旨在帮助您通过includes 分离页面的组件,首先完全不需要渲染框架集。

【讨论】:

    【解决方案2】:

    是的,您可以使用框架。但是您必须在框架集文件中输出实际内容,在您的情况下为limits.php。请注意这里的一些事情:

    • 在框架集文件中启动会话是可以的。
    • 但您还必须在 limits.php 框架内容文件中使用 session_start()。
    • 同样,应该在所有框架文件中执行 HTTP 身份验证。
    • 不要假设人们不能直接访问do_menu3.php。

    我以前使用框架来实现 Web 的 NortonCommand-clone,它比 CSS 排列 div 更有意义。但是,使用框架处理 jQuery 比较麻烦。对于 PHP,它就像将每个框架脚本视为单独的入口脚本一样简单。

    【讨论】:

      猜你喜欢
      • 2011-05-08
      • 2014-11-06
      • 2014-09-18
      • 1970-01-01
      • 2016-01-29
      • 2010-10-23
      • 2014-11-25
      • 2012-03-15
      • 2017-10-26
      相关资源
      最近更新 更多