主页;的index.php
主页中有两个iframe
iframe name= topifrm
iframe name= content
我想点击“教育”链接,然后应该执行以下操作:
将topindex.php页面加载到topifrm并同时加载 将education.php页面加载到内容
或
如果您好,请发送给我如何访问php变量,在education.php
页topindex.php
中说“$ edu_id”..
答案 0 :(得分: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”参数。
但如果我是你,我不会使用load但是将所有内容序列化为json,将json传递给Javacript对象以在浏览器上生成html而不是在服务器上呈现html。离开PHP,因为它永远不会给你任何好处,但只有噩梦。
学习javascript!学习它不要使用jQuery(jquery将阻止你理解如何在javascript中编写代码)。学习python来编写应用程序服务器,学习ruby并且不要限制自己使用rails。并学习一个口齿不清,因为真正的程序员程序与lambda演算!