`
cakin24
  • 浏览: 1389575 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

    博客分类:
  • PHP
阅读更多

一 代码

conn.php
<?php
    $conn = mysql_connect("localhost", "root", "root") or die("连接数据库服务器失败!".mysql_error()); //连接MySQL服务器
    mysql_select_db("db_database17",$conn);			//选择数据库db_database13
    mysql_query("set names utf8");						//设置数据库编码格式utf8
?>
 
login.php
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<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 name="user" type="text" 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>&nbsp;</td>
      <td><input type="submit" name="sub" value="登录" />
      <input type="reset" name="res" value="重置" /></td>
    </tr>
  </table>
  </fieldset>
</form>
 
login_ok.php
<?php
    session_start();//开启SESSION
	header("content-type:text/html;charset=utf-8");//设置编码格式
	include("conn/conn.php");//包含数据库连接文件
	$name=$_POST['user'];
    $pwd=$_POST['pwd'];
	$sql=mysql_query("select * from tb_member where name='".$name."' and password='".$pwd."'");//执行sql语句
	if(mysql_num_rows($sql)>0){//判断数据库中是否有记录	  
	  $_SESSION['name']=$name;//为SESSION变量赋值
	  $_SESSION['time']=time();//为SESSION变量赋值
	  echo "<script>alert('登录成功!');location='show.php';</script>";//提示登录成功
	}else{
	  echo "<script>alert('用户名或密码错误!');location='login.php';</script>";//提示用户名或密码错误
	}
?>
 
show.php
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>学涯在线</title>
</head>
<body>
<?php
	if($_SESSION['time']==""){//判断SESSION变量是否为空
	  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="images/mysql_01.gif" width="464" height="139" /></td>
  </tr>
  <tr>
    <td width="81"><img src="images/mysql_02.gif" 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="images/mysql_04.jpg" width="74" height="136" /></td>
  </tr>
  <tr>
    <td height="63" colspan="3"><img src="images/mysql_05.gif" width="464" height="61" /></td>
  </tr>
</table>
<?php
	}else{//如果登录时间超过10分钟并且10分钟内没有刷新页面则提示登录超时
?>
<table width="469" border="0" align="center">
  <tr>
    <td colspan="3"><img src="images/mysql_01.gif" width="464" height="139" /></td>
  </tr>
  <tr>
    <td width="81"><img src="images/mysql_02.gif" 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="images/mysql_04.jpg" width="74" height="136" /></td>
  </tr>
  <tr>
    <td height="63" colspan="3"><img src="images/mysql_05.gif" width="464" height="61" /></td>
  </tr>
</table>
<?php
    }
?>
</body>
</html>
 
二 运行结果
在登录1分钟内,如果没有刷新动作,将会提示超时

 
  • 大小: 9.4 KB
1
1
分享到:
评论

相关推荐

    .net C# 利用session控制用户重复登录及统计在线用户数解决方案

    针对“控制用户重复登录”的需求,我们可以设置一个全局变量或者使用数据库记录用户的登录状态。一旦用户登录成功,将用户信息存入`Session`,并标记用户为已登录。如果同一用户再次尝试登录,检查`Session`中的登录...

    .net C# 通过session控制重复登录及在线用户统计

    在这个场景中,我们关注的是如何利用`Session`来控制用户的重复登录以及统计在线用户数量。下面将详细介绍这两个核心知识点。 1. **重复登录控制**: 当用户成功登录后,通常会将用户的一些关键信息(如ID、用户名...

    PHP Session的配置与应用

    3. **删除Session变量**:使用`unset()`函数可删除特定的Session变量,如`unset($_SESSION['username']);`。若要完全结束Session,需调用`session_destroy()`。 4. **检查Session状态**:`session_status()`函数...

    php_session与cookie会员登录验证实例

    Session用于在服务器端存储用户信息,确保安全性,而Cookie则可以用来控制用户在一段时间内的登录状态。实际应用中,应考虑使用更安全的数据库连接方法、避免SQL注入等安全问题,并优化用户体验,例如通过Cookie自动...

    session 检测登陆

    在Web开发中,Session是一种非常...综上所述,Session检测用户登录是Web应用中常见且关键的技术,它涉及到用户认证、权限控制以及安全性等多个方面。正确理解和运用Session机制,对于构建健壮的Web应用程序至关重要。

    session概念及基本应用

    - 在JSP页面中,可以使用 `&lt;jsp:setProperty&gt;` 或 `&lt;c:set&gt;` 等标签来设置Session变量。 - 通过 `&lt;%= session.getAttribute("key") %&gt;` 可以在页面中显示Session中的数据。 #### 五、示例:简单的邮件系统 假设...

    退出页面自动清除session技巧

    当用户在应用程序的不同页面之间跳转时,存储在Session中的变量不会被销毁,而会在整个用户会话期间一直存在。这种机制可以方便地在多个页面间共享数据,并且有助于提高用户体验。 #### 清除Session的重要性 清除...

    详解php设置session(过期、失效、有效期)

    在PHP中,Session是一种非常重要的会话管理机制,它允许开发者在用户的不同页面请求之间保持状态。...通过正确配置和编程技巧,开发者可以有效地控制Session的生命周期,从而优化用户体验和服务器资源管理。

    session与cookie的区别和联系?

    当用户在应用程序的页面之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在,直到会话过期或结束。 - **存储位置**:Session数据通常存储在服务器上,因此安全性比Cookie更高。 - *...

    php中使用session防止用户非法登录后台的方法

    综上所述,PHP中使用session是一种简单有效的方法来防止非法用户登录后台,通过session机制,我们可以有效地管理和控制用户的会话状态,从而保护网站后台的访问安全。上述提供的代码示例提供了基本的实现方法,适用...

    VS中通过Session实现网站安全机制

    - 设置合理的Session超时时间,避免用户长时间无操作仍保持登录状态。 - 实现验证码机制,防止恶意自动登录尝试。 - 使用更安全的身份验证机制,如Forms Authentication或OAuth等。 - 对敏感操作进行二次确认,防止...

    网页session的一些常见问题并解决方案

    2. 避免使用全局Session变量,可能导致难以调试的问题。 3. 使用适当的数据结构存储Session数据,如Dictionary或自定义对象。 4. 在不再需要Session时,及时调用`Session.Abandon()`释放资源。 总之,理解并妥善...

    PHP SESSION 代码

    这对于构建交互式的Web应用程序至关重要,比如购物车、用户登录系统等。在这个主题中,我们将深入理解PHP Session的工作原理、如何使用以及相关的最佳实践。 1. **Session 的工作原理** - 当用户访问一个启用了...

    java_web 用户只能在一处登陆源码

    在Java Web应用中,用户的登录状态是通过Session来维护的。当用户成功登录后,服务器会创建一个Session对象,并将用户信息存储在其中,然后将Session ID返回给客户端(通常是浏览器)作为Cookie保存。之后,每次...

    PHP5 session 详解

    从初始化 Session 开始,直到用户关闭浏览器或者 Session 过期这段时间被称为 Session 的生命周期。在这段时间内,用户的状态信息会被持续跟踪并更新。 #### 三、Session 的管理和配置 **1. Session 初始化** 在 ...

    ASP.NET Session的七点认识

    可以立即清除某个Session变量。 #### 五、Session的安全性与性能考量 由于Session数据存储在服务器端,因此相比Cookie,它提供了更高的安全性。然而,Session的使用也会对服务器性能产生影响,尤其是当会话数量...

    PHPsession和cookie讲解笔记

    - **管理Session生命周期**:可以调整`session.cookie_lifetime`和`session.gc_maxlifetime`配置参数,控制Cookie和Session数据的存活时间。 在实际应用中,开发者应根据项目需求和性能考虑选择使用Cookie还是...

    php 如何设置一个严格控制过期时间的session

    尽管这种方式可以延长session的生命周期,但它的不确定性并不适合那些需要严格控制session过期时间的应用场景。因此,需要采用一些其他技术手段来实现更精确的控制。 一种方法是使用外部存储机制如Memcache或Redis...

    PHP4中session登录页面的应用

    如果用户认证成功,脚本会将用户ID(`$user_id`)、用户信息(`$user_name`)以及用户数组(`$user_array`)注册为Session变量,以便在会话期间其他页面可以访问这些信息。这通过`session_register()`函数完成,...

    session、viewstate jQuery SQL存储过程等一系列教学网站 相当实用哦

    3. **销毁**:通常情况下,Session会在一定时间后自动失效,也可以手动销毁。 #### 四、Session的应用场景 1. 用户登录状态管理 2. 购物车信息存储 3. 用户个性化设置等 ### ViewState #### 一、ViewState概述 ...

Global site tag (gtag.js) - Google Analytics