PHP登陆Session验证

关键字:PHP Session 登陆 验证

本文地址:http://www.cnblogs.com/txw1958/p/php-login-check-session.html

首先,在MySQL数据库中创建管理员账号表

create table users
(
username char(8) not null,
passcode char(8) not null,
userflag int,
primary key(username)
);

接着对表进行初始化,输入数据。

insert into users values(‘admin‘,‘admin123‘,1);

用户登陆页面:

<html>
 <head>
  <title>Login_fangbei</title>
 </head>
 <body>
  <form name="fangbei" method="post" action="check_session_login.php">
   <div style="width:353">
    <dl>
     <dt></dt>
     <dd>
      <div align="left">
       Username:
       <input type="text" name="username" />
      </div>
     </dd>
     <dd>
      <div align="left">
       Psssword:
       <input type="password" name="passcode" />
      </div>
     </dd>
     <dd>
      <p align="center"> <input type="submit" name="Submit" value="Submit" /> <input type="reset" name="Reset" value="Reset" /> </p>
     </dd>
    </dl>
   </div>
  </form>
 </body>
</html>

这个页面登陆之后,会从表单中转向check_session_login.php页面。

代码如下:

<?php
@mysql_connect("localhost","root",‘root‘)
or die("数据库连接失败");
@mysql_select_db("mydb")
or die("选择数据库失败");
//获取输入的信息
$username = $_POST[‘username‘];
$passcode = $_POST[‘passcode‘];
//获取session的值
$query = @mysql_query("select username,userflag from users where username = ‘$username‘ and passcode = ‘$passcode‘")
or die("SQL语句执行失败");
//判断用户以及密码
if($row = mysql_fetch_array($query))
{
    session_start();
    //判断权限
    if($row[‘userflag‘] == 1 or $row[‘userflag‘] == 0){
        $_SESSION[‘username‘] = $row[‘username‘];
        $_SESSION[‘userflag‘] = $row[‘userflag‘];
        echo "<a href=‘welcome_session_login.php‘>欢迎访问www.cnblogs.com/txw1958</a>";
    }else{
        echo "userflag不正确";
    }

}else{
    echo "username或者usercode";
}
?>

验证通过之后,达到欢迎页面welcome_session_login.php。

代码如下:

<?php
session_start();
if(isset($_SESSION[‘username‘]))
{
    if($_SESSION[‘userflag‘] == 1)
        echo "欢迎管理员".$_SESSION[‘username‘]."登陆";
    if($_SESSION[‘userflag‘] == 0)
        echo "欢迎用户".$_SESSION[‘username‘]."登陆";
}
else
{
    echo "您没有权限访问此页面";
}
?>

最后还有个销毁session页面destroy_session_login.php。

代码如下:

<?php
unset($_SESSION[‘username‘]);
unset($_SESSION[‘passcode‘]);
unset($_SESSION[‘userflag‘]);
echo "注销成功";
?>
时间: 2024-10-06 00:16:30

PHP登陆Session验证的相关文章

利用Node.js实现模拟Session验证的登陆

1.身份验证和用户登陆 在一般的Web应用上,如果要实现用户登陆,最常用,也是最简单的方法就是使用Session,基本的思路是在Session中保留一些用户身份信息,然后每次在Session中取,如果信息不正确或不存在,那么身份验证失败,正确则成功. Session和Cookie是两个很相似的东西,都是字符串,只不过Session是保存在服务器上的,而Cookie是保存在本地的,所以Cookie是不能用作身份验证的.Session故名思议,肯定和客户端与服务器间建立的会话相关,Session的工

登陆权限验证Session和Cookie用法及BasePage类使用

最近在做ASP.NET的项目时,接触到了登陆权限模块,所有总结了一下登陆时用到的知识和方法技巧. 如图说明:实现的效果如图,由于验证码验证比较简单这里就不介绍了 首先用代码生成器生成项目,以三层为例进行说明, 那么我以BlogUser表为例,然后就会有一个BlogUser实体类对象. 登陆的思想:当我们登陆成功的时候要将实体存入到session中,免登陆也是这个思想,只不过是当我们勾选免登陆的时候,第一次登陆进去,那么将用户的id存入到cookie中去,通过用户的id查找用户的实体,再赋值给se

session验证登陆- 页面跳转

用session验证登陆,当用户想访问一个页面时由于没有登录,就跳转到登录页面,登录后跳转到用户请求的页面,在session跳转中传上次请求的页面.  怎么获得这个url值并跳转到该页面呢? 以此跳转到的登录页面的url为例: http://localhost:3225/Login.aspx?u=/UpLoadPic.aspx session代码为: public class CheckSession:System.Web.UI.Page { protected override void On

过滤器+用session验证是否登陆过

过滤器: public class MyActionFilter : ActionFilterAttribute//继承ActionFilterAttribute类 { public override void OnActionExecuting(ActionExecutingContext filterContext) { //用session验证是否登陆过 if(filterContext.HttpContext.Session["visitor_name"] == null) {

Struts2自己定义拦截器实例—登陆权限验证

版本号:struts2.1.6 此实例实现功能:用户须要指定username登陆,登陆成功进入对应页面运行操作,否则返回到登陆页面进行登陆,当直接訪问操作页面(登陆后才干訪问的页面)时则不同意,须返回登陆页面. 代码例如以下: 一.页面 login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUB

Django之session验证的三种姿势

一.什么是session session是保存在服务端的键值对,Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中. 二.FVB中使用装饰器进行session验证 认证装饰器: # 登陆验证 def auth(func): '''判断是否登录装饰器''' def inner(request, *args, **kwargs): ck = request.session.get("username") '''如果没有登

Asp.Net使用加密cookie代替session验证用户登录状态 源码分享

首先 session 和 cache 拥有各自的优势而存在.  他们的优劣就不在这里讨论了. 本实例仅存储用户id于用户名,对于多级权限的架构,可以自行修改增加权限字段   本实例采用vs2010编写,vb和c#的代码都是经过测试的:一些童鞋说代码有问题的 注意下    什么? 你还在用vs2008 vs2005? 请自行重载 带有 optional 标致的函数   童鞋们提到的 密码修改后 要失效的问题 当时没有想到 个人认为 大致方向可以> >1. 每个用户生成1个xml 里面保存随机的几

Filter进行session验证

解决方法:先创建一个新的控制器  随变命名  adminFilterConter   让他继承自controller控制器  在里面写方法 在执行方法之前授限执行 protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Session["UserInfo"] == null) { Response.Redirect("/UserLogin/Index"

第二百七十节,Tornado框架-生成验证码图片,以及验证码结合Session验证

Tornado框架-生成验证码图片,以及验证码结合Session验证 第一.生成验证码图片  生成验证码图片需要两个必须模块 1.python自带的random(随机模块) 2.Pillow()图像处理模块里的PIL(图像库),为第三方模块,需要安装 封装验证码图片生成插件py 在封装文件里先导入random(随机模块),和Pillow()图像处理模块里的所需py文件 封装验证码图片生成插件功能,调用后返回验证码图片,和字符串类型验证码,两个返回值 注意:验证码需要一个字体文件,这个字体文件必须