应用Session变量控制用户登录时间

1.创建conn.php文件,实现连接数据库的操作

<?php
$dbhost='localhost';//数据库服务器名称
$dbuser='root';// 连接数据库用户名
$dbpass='';// 连接数据库密码
$dbname='online';// 数据库的名字
// 连接到数据库
error_reporting(E_ALL ^ E_DEPRECATED);//解决报错问题
$connect=mysql_connect($dbhost,$dbuser,$dbpass);
if(!$connect) exit('数据库连接失败!');
mysql_select_db($dbname,$connect);
mysql_query('set names gbk');//设置编码
?>

2.创建登录页面login.php,在页面中创建表单及表单元素,在该页面使用javascript脚本对用户输入的用户名和密码进行验证
<?php 
?>
<html>
<script type="text/javascript">
    function checkform(form){
        if(form.user.value==""){
            alert('请输入用户名');
            form.user.focus();
        return false;
        }
        if(form.pwd.value==""){
            alert('请输入密码');
            form.pwd.focus();
        return false;
        }
    }
</script>
<form id="form1" name="form1" method="POST" action="login_ok.php" οnsubmit="return checkform(form1)">
    <fieldset style="width:500px;"><legend style="font-size: 16px;">用户登录</legend><table width="300" border="0" align="center">
        <tr>
           <td width="77" align="right">用户名:</td>
           <td width="213"> <input type="text" name="user" id="user"size="24"></td>
         </tr>
         <tr>
            <td align="right">密码:</td>
            <td><input name="pwd" type="password" id="pwd" size="25"></td>
         </tr>
         <tr>
            <td> </td>
            <td><input type="submit" name="sub" value="登录">
            <input type="reset" name="res" value="重置"></td>
    </table>
    </fieldset>
</form>
</html>
3.创建login_ok.php页面,在页面中通过查询数据库来判断用户名密码是否正确,如果正确,则为Session变量赋值

<?php
    error_reporting(0);
    session_start();   //开启session
    header("content-type:text/html;charset=utf-8");//设置编码格式
    include 'conn.php';    //包含数据库连接文件
    $name=$_POST['user'];
    $pwd=$_POST['pwd'];
    $sql=mysql_query("select *from information where name='".$name."' and passworld='".$pwd."'");//执行sql语句判断数据库内是否含有 
    if(mysql_num_rows($sql)>0){
        $_SESSION['name']=$name;
        $_SESSION['time']=time();
        echo "<script> alert('登录成功!'); location='index.php'</script>";   //提示登录成功
    } 
    else{
        echo "<script> alert('用户名密码错误!'); location='login.php'</script>";  //提示用户名密码错误
    }
?>

4.创建index.php页面,在页面中进行判断,如果Session变量有值且登录时间没有超过10分钟显示欢迎回来,如果十分钟内未操作,则显示登录超时,请重新登录

<?php
     error_reporting(0);
     session_start();
     if($_SESSION['time']==""){
         echo "<script> alert('您无权限查看,请登录!'); location='login.php'</script>";  //不允许直接访问
     }
     elseif((time()-$_SESSION['time'])<60){    //如果登录时间没有超过1分钟
         $_SESSION['time']=time();              //白当前的时间戳赋值给Session变量
       
?>

<table width="469" border="0" align="center">
    <tr>
        <td colspan="3"><img src="../courseplay/images/close.png"  width="464" height="139"/></td>
    </tr>
    <tr>
         <td width="81"><img src="../courseplay/images/close.png" width="78" height="136"></td>
         <td width="301" align="center" style="font-size:24px; color:#CC00CC; font-weight:bolder"> 欢迎来到学涯在线</td>
         <td width="74"><img src="../courseplay/images/close.png" width="74" height="136"></td>
    </tr>
    <tr>
         <td height="63" colspan="3"><img src="../courseplay/images/close.png" width="464" height="61"></td>
    </tr>
</table>
<?php
    } 
    else {  //一分钟内未登录,提示重新登录
?>
    }
        <table width="469" border="0" align="center">
        <tr>
        <td colspan="3"><img src="../courseplay/images/close.png" width="464" height="139"/></td>
        </tr>
        <tr>
        <td width="81"><img src="../courseplay/images/close.png" width="78" height="136"></td>
        <td width="301" align="center" style="font-size:24px; color:#339966; font-weight:bolder">您登录已超时,请重新登陆!</td>
        <td width="74"><img src="../courseplay/images/close.png" width="74" height="136"></td>
        </tr>
        <tr>
        <td height="63" colspan="3"><img src="../courseplay/images/close.png" width="464" height="61"></td>
        </tr>
        </table>
       
<?php
    echo "<script>location.href='login.php'</script>";
    } 
?>

这是今天的一个小例子哈.....


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值