php cookie免登陆,PHP 实现超简单的SESSION与COOKIE登录验证功能示例

本文实例讲述了PHP 实现超简单的SESSION与COOKIE登录验证功能。分享给大家供大家参考,具体如下:

第一步,制作一个提交信息的表单页面

这里我不过多叙述,都能懂的

把他命名为login.php

管理页面登录

用户身份:

管理员

任职教师

学生

用户:

密码:

第二步,制作一个接受表单信息并且进行判断的php文件

在同目录的文件夹里创建一个名为index_do.php

session_start();//启用session

header("Content-type:text/html;charset=utf-8");//设置编码格式为utf-8

date_default_timezone_set('PRC'); //调整时区

//判断是否点击了登录按钮

if (isset($_POST["login"])) {

$name = $_POST["name"];//用户名

$pas = $_POST["pas"];//密码

$role = $_POST["role"];//用户身份

$time = date("Y:m:d H:i:s",time());//获取登录时的时间

$ip = $_SERVER["SERVER_ADDR"];//接收ip位置

//判断是否为空

if ($name==""&&$pas=="") {

echo "";

header("location:login.php");

}else{

//判断用户身份是否为管理员

if ($role=="admin"&&$name=="Rarin") {

//如果是管理员,并且用户名是Rarin,那么则把他们输入进session里

$_SESSION["name"] = $name;

$_SESSION["pas"] = $pas;

$_SESSION["role"] = $role;

$_SESSION["ip"] = $ip;

$_SESSION["time"] = $time;

header("location:index.php"."?role=$role");//成功后返回index.php页面并保存role值

}elseif ($pas=="2002"&&($role=="teacher"||$role=="student")) {

//不是管理员,是老师或者学生的时候,并且密码为2002,那么把他们输入进cookie里

setcookie("name",$name,time()+3600);//创建cookie并给他输入值

setcookie("pas",$pas,time()+3600);

setcookie("role",$role,time()+3600);

setcookie("ip",$ip,time()+3600);

setcookie("time",$time,time()+3600);

header("location:index.php"."?role=$role");

}

}

}

?>

第三步,创建一个信息文件

同目录下创建一个名为index.php

session_start();//启用session

header("Content-type:text/html;charset=utf-8");

date_default_timezone_set('PRC'); //调整时区

?>

登陆成功

$role = $_GET["role"];//接收数据

//判断是否为管理员身份

if ($role=="admin") {

//判断是否接收到了数据,有,则以SESSION方式登录

if (!empty($_SESSION["time"])) {

//以session方式输出

echo "您好,".$_SESSION["name"]."
";

echo "您的密码:".$_SESSION["pas"]."
";

echo "您的ip:".$_SESSION["ip"]."
";

echo "SESSION登陆成功!您上次访问的时间是:".$_SESSION["time"]."
";

echo "

";

}else{

echo "";

header("location:login.php");

}

}elseif ($role=="teacher"||$role=="student") {

//判断是否接收到了数据,有,则以COOKIE方式登录

if (!empty($_COOKIE["time"])) {

//以cookie方式输出

echo "您好,".$_COOKIE["name"]."
";

echo "您的密码:".$_COOKIE["pas"]."
";

echo "您的ip:".$_COOKIE["ip"]."
";

echo "COOKIE登陆成功!您上次访问的时间是:".$_COOKIE["time"]."
";

echo "

";

}else{

echo "";

header("location:login.php");

}

}else{

echo "";

header("location:login.php");

}

?>

知识点:

1.session_start()函数启用session

2.date_default_timezone_set('PRC')调整为北京时间

3.$_SERVER["SERVER_ADDR"]接收ip地址

4.header("location:index.php"."?role=$role")将这个值保存到index.php文件里

希望本文所述对大家PHP程序设计有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值