应用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" onsubmit="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>";
- }
- ?>
这是今天的一个小例子哈.....