PHP网站后台用的是框架,格局是:上,左右,下。
顶部和左侧都有退出链接,退出代码如下:
<a href="quit.php?tag=exit" target="mainFrame" rel="mainFrame">安全退出</a>
<?php
session_start();
if($_SESSION['tr_adm_no']==""){
echo "<script language='javascript'>window.location.href='login.php';</script>";
}
if($_GET['tag'] == 'exit'){
unset($_SESSION['tr_adm_no']);
unset($_SESSION['tr_adm_name']);
echo "<script language='javascript'>parent.location.reload();</script>";
echo "<script language='javascript'>window.close();window.location.href='login.php';</script>";
}
?>   
单击“安全退出”,完全可以退出到 登录页面,是没有问题的。
现在有个问题哦:
session有效期,我采用的是默认时间,一段时间没有操作之后,比如吃饭回来之后,
再进行随便一个操作, 这时会在框架的 右侧 显示一个登录页面,而顶部,左侧都还正常。
不知有什么法子,使这个登录页面不让他在框架右侧显示,而是完全退出框架,在单纯的登录页面显示。

解决方案 »

  1.   

    在 login.php 中用 js 检查是否工作在框架中
      

  2.   

    唠叨大哥就是帅,应该是这个JS吧:
    <script type="text/javascript">
    if (top.location != self.location) {
    top.location = self.location;
    }
    </script>
    我还有个问题哦,就是session有效期的问题,比如登录时定义了一个session之后,
    比如:$_session['adm_no'] = 'xhy';
    如果10秒钟没有操作,就转到登录页面。
    在网上找的一些代码,都太高深了,俺操作不了。
    唠叨大哥,帮帮俺吧~
      

  3.   

    在  session_start() 之前
    session_set_cookie_params(10);
      

  4.   

    唠叨大哥,我比较笨了,这个
    用了之后,好像没有反应似的,我是这们用的:
    <?php
    session_set_cookie_params(60);
    session_cache_expire(1);//设置session的有效期session_start();
    include("../inc/fun.php");
    include("../inc/conn.php"); 
    if($_SESSION['tr_adm_no']==""){
    message("","login.php");
    }
    是不是哪里给用错了捏~