同时使用一个链接在两个iframe中加载两个PHP或HTML页面


loading two php or html page in two iframe by using one link at the same time

主页;index . php

首页有两个iframe

iframe name= topifrm
iframe name= content

我想点击链接"教育",那么应该发生以下动作:

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

如果你好心,请告诉我我如何访问php变量,说"$edu_id"在education.phptopindex.php页。

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

第二个问题是:

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

请记住,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,它是不可能正确地做与iframes。有了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传递给javascript对象以在浏览器上生成html,而不是在服务器上呈现html。离开php吧,因为它永远不会给你带来任何好处,只会给你带来噩梦。

学习javascript !学好它,不要使用jQuery (jQuery会阻碍你理解如何用javascript编写代码)。学习python编写应用服务器,学习ruby,不要局限于rails。并学习一个lisp,因为真正的程序员程序与λ演算!