2013-03-01 38 views
1

我有一个非常基本的框架布局:index.html的元刷新与框架目标

<frameset rows="80,*" frameborder="1" border="5" framespacing="0"> 
    <frame name="topNav" src="top_nav.html"> 
    <frameset cols="220,*" frameborder="1" border="5" framespacing="0"> 
    <frame name="menu" src="menu_1.php" marginheight="0" marginwidth="0" scrolling="auto" noresize> 
    <frame name="content" src="content.php" marginheight="0" marginwidth="0" scrolling="auto" noresize> 
</frameset> 
</frameset> 

enter image description here

和检查,如果用户名和密码匹配数据库等简单的登录脚本

现在我希望它做的是,如果信息是正确的,是自动重定向的菜单栏,但所有我能做的就是重定向的内容部分

// check to see if they match! 
    if ($username==$dbusername&&$password==$dbpassoword) 
    { 
     $_SESSION['username']=$username; 
     echo '<meta http-equiv="REFRESH" content="2 ; url=servers.php" target="menu">'; 
    } 
    else 
     echo "<center>Incorrect Information!</center>" ; 

现在,我可以很容易地做到这一点,如果我让用户点击一个<a href>标签

E.G. <a href="servers.php" target="menu">click me</a>

所以我想我可以简单地把target="menu"放在我的meta标签中,但是它所做的只是重定向内容页面。

所以我的问题是,我做错了什么,或者有一个更简单的方法来做到这一点?

+1

它已经永远自我见过一个网站上使用的框架...或元刷新此事。如果您已经在使用PHP,那么为什么不将这些部分包含到您的显示中 - 而不是创建框架......然后,您可以在成功登录后执行标题('Location:something')。 如果你想坚持使用框架,我会使用JavaScript来强制重新加载元标记。 document.getElementById('menu')。location =“something”,也许? – Applehat 2013-03-01 20:49:00

+0

你好applehat,如果我是诚实的,我不是帧的大粉丝,但我想现在给它一段时间,所以我做了一个小项目,为我自己,并已学会了许多事情办法。但是,将来我会使用CSS,因为它看起来更可靠。并感谢您的回答,它也工作:) – 2013-03-01 20:57:02

+2

没问题!是啊。框架集和元刷新是网络世界中真正的老技术。关于唯一的“可接受的”框架不再是iFrame ......甚至应该谨慎使用它们。 JavaScript让你现在可以做得更干净=) – Applehat 2013-03-01 21:03:00

回答

3

我相信你不能使用标题。您可以在您的内容中输出常规JavaScript。事情是这样的:

<script> 
    parent.menu.location.href = "/some-url"; 
</script> 
+0

非常感谢,直接打开盒子,我一定会将你的答案标记为已接受的答案 – 2013-03-01 20:53:38

2

给你架(菜单)的ID:然后改变这样的代码:

变化

echo '<meta http-equiv="REFRESH" content="2 ; url=servers.php" target="menu">'; 

echo '<script>var iframe = document.getElementById("youriframe");iframe.src="servers.php";</script>'; 
+0

谢谢你的回答,它工作得很完美。但是,当我们首先回答Nostrzak的答案时,我会将其标记为已接受的答案,但仍然,非常感谢您花时间回答我的问题。 – 2013-03-01 20:58:55

+0

不客气。而我thrac Nostrzak的答案也更简单。 :d – MIIB 2013-03-01 21:00:15