早上好,
最近我因为教育原因试图建立一个简单的聊天室。在我的登录/注册/欢迎屏幕上,我有一个按钮,可以在iframe上打开login.php文件,以便您可以登录。如果您将正确的用户名和密码存储在数据库中,则会将您重定向到./chat/index.php页面(主聊天室页面)。问题是此页面在iframe中打开。有没有办法让它在普通页面的同一窗口上打开,就像简单的按钮链接一样。
这是我在主页上的代码:
<div id="login" class="menu">
<h4>I have an account :)</h4>
<form method="get" action="./login" target="loginFrame">
<button type="submit" onclick="showLoginFrame">Please let me in so I can talk with my friends!</button>
</form>
<iframe id="loginIframe" name="loginFrame" frameborder="0" scrolling="no"></iframe>
<script type="text/javascript">
function showLoginFrame() {
var iframe1 = document.getElementById("loginIframe");
iframe1.style.visibility="visible";
}
</script>
这是登录php页面(与db完成所有工作的那个)上的代码的一部分,重定向到聊天页面:
if($user == $dbusername && $pass == $dbpassword)
{
session_start();
$_SESSION['sess_user']=$user;
/* Redirect browser */
header("Location: ../chat/");
}
} else {
echo "Invalid username or password!<br><br>";
}
答案 0 :(得分:1)
虽然我同意@Ofir Baruch,但您应该考虑使用对话框,将下面的javascript放在./chat/index.php
上,应该将其从框架中删除。
if (top.location!= self.location) {
top.location = self.location.href;
}
如果这对您不起作用,则此处还有另外两种解决方案:
https://css-tricks.com/snippets/javascript/break-out-of-iframe/