-2

主页; 索引.php

主页中有两个 iframe

iframe name= topifrm
iframe name= content

我想点击链接“教育”,然后应该发生以下操作:

将topindex.php页面加载到topifrm,同时将education.php页面加载到内容中

或者

如果你好心请发给我如何访问 php 变量,在页面中说“$edu_id education.phptopindex.php

4

1 回答 1

1

我不得不说你的要求有很多问题。首先,不要使用 IFrame。它们在很久以前就被这样使用了,谢天谢地,像 ajax 这样的东西出现了。

另一个问题是:

如果你好心请发给我如何访问 php 变量,在 topindex.php 页面的education.php 中说“$edu_id”。

请记住,PHP脚本是在服务器上执行的,而不是在浏览器中。因此,您在浏览器中看到的任何内容都是严格的 html 文件。为了清楚起见,您无法从浏览器访问 php 变量。但这不是结束!因为很多人都在做你想做的事,但以更好的方式。

假设你 index.php 返回这个:

<html>
  <head><title></title></body>
  <body>
  <div id="menu">
    <ul>
      <li><a data-phpid="education">Education</a></li>
    </ul>
  </div>
  <div id="container"></div>
  </body>
</html>

您将需要一些 javascript,因为没有 javascript,实际上不可能使用 iframe 正确地做到这一点。使用 iframe,如果页面无法加载,您实际上不能只获取“数据”或捕获异常。

我将使用 jQuery,因为每个人都在使用它,它可能更容易理解,因为它不是一个糟糕的库。在您链接 jquery 后将其放置为脚本标签,它应该可以工作。

$(function () {
  // this will get executed when document is ready

  $('#container').load("/secondframe.php");
  $('#menu a').click(function() {
     var pageid = $(this).data('phpid');
     $("#container").load("/secondframe.php?phpid=" + pageid);
  });
});

也就是说,它应该可以工作,在您的 php 脚本中,您将检查$_GET['pageid']以获取刚刚作为“get”参数发送的 id。

但如果我是你,我不会使用 load,而是将所有内容序列化为 json,将 json 传递给 Javacript 对象以在浏览器上生成 html,而不是在服务器上呈现 html。离开 php,因为它永远不会给你带来任何好处,只会给你带来噩梦。

学习 javascript!好好学习不要使用 jQuery(jquery 会妨碍你理解如何用 javascript 编写代码)。学习 python 编写应用服务器,学习 ruby​​,不要局限于 Rails。并学习 lisp,因为真正的程序员使用 lambda 演算!

于 2013-06-02T08:33:10.683 回答