实战突击
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.7 用户个人信息模块设计

1.7.1 用户个人信息模块概述

用户登录后,即可看到个人的相关信息。在这里,用户可以查看个人用户名称、权限等级、当前日期、上次登录时间、登录次数并可执行安全退出操作。用户个人信息显示模块的运行效果如图1.16所示。

图1.16 个人信息显示

1.7.2 用户个人信息模块技术

在个人信息显示模块中,以SESSION变量中存储的用户ID为条件,从用户信息表中查询出用户信息,并且将用户信息在该页面中输出。userinfo.php的代码如下:

        <?php
        session_start();                           //初始化SESSION变量
        include_once("conn/conn.php");             //包含配置文件
        /*查找用户资料*/
        //执行查询操作
        $sqlstrvi="select * from tb_meeting_user where userId=$_SESSION[id]";
        $i_rst=$conn->Execute($sqlstrvi);
        echo $i_rst->fields[1];                   //输出查询结果
        ?>

1.7.3 用户个人信息实现过程

当用户正常登录会议记录管理系统时,系统会根据SESSION变量存储的用户ID值,获取用户的相应信息,并且完成用户个人信息的输出。其关键代码如下:

        <?php
        $sqlstrvi="select * from tb_meeting_user where userId=$_SESSION[id]";
        $i_rst=$conn->Execute($sqlstrvi);
        ?>
        <table cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td width="58" align="center">尊敬的:</td>
        <td width="48" align="left"><?php echo $i_rst->fields[1]; ?></td>
        <td width="68">您的身份:</td>
        <td width="78" align="left">
        <?php
        if($i_rst->fields[5]==0)                //判断用户权限
              echo "<span style=\"color:#CC99FF\">普通用户</span>";
        else if($i_rst->fields[5]==1)
            echo "<span style=\"color:#FF0000\">管理员</span>";
        ?></td>
        <td>当前日期为:<span class="dates"><?php echo date("Y年m月d日");?></span>
        &nbsp;</td>
        <td width="78">上次登录时间:</td>
        <td width="138">
        <?php                                         //判断用户是否为首次登录
        if($i_rst->fields[4]==1){
              echo "------";
            }else{
              echo $_SESSION["lasttime"];
        }
        ?>
        </td>
        <td width="40" >当前为</td>
        <td width="100" align="left">第&nbsp;<?php echo $i_rst->fields[4]; ?>&nbsp;
        次登录</td>
        <!--<td width="51"><a href="logout.php">退出登录</a></td>-->
        <td width="51"><ahref="logout.php"><imgsrc="images/over3.png" width="49"
        height="19" border="0"  onclick="logout()" /</a></td>
        </tr>
        </table>

说明

这里值得一提的是,该模块输出的上次登录时间,并非直接通过查询数据库中相关字段的内容获取而来的,而是从SESSION变量存储的lasttiame中获得的。

1.7.4 安全退出

当用户需要离开网站时,可以单击“安全退出”超链接来调用logout()函数。当用户确认退出后,则跳转到logout.php页面,销毁SESSION并回到首页。安全退出所涉及的页面及代码如下:

代码位置:光盘\MR\01\ userinfo.php

        function logout(){
        if(confirm("确定要退出登录吗? ")){ //输出选择框,用户可以单击“确认”或“取消”按钮
              //如果用户确认退出,则打开logout.php页
              window.open('logout.php','_parent','',false);
        }else
              return false;
        }

代码位置:光盘\MR\01 logout.php

        <?php
        session_start();                                     //开启SESSION支持
        session_destroy();                                  //销毁SESSION
        //回到首页
        echo '<script>alert(\'用户已安全退出!\');location=(\'index.php\');</script>';
        ?>