博主信息
博文 34
粉丝 0
评论 1
访问量 29135
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
会话控制技术—2018年8月31日23时45分
感恩的心的博客
原创
686人浏览过

 

 用户端与服务器的对话机制2.jpeg

1、编程: cookie实现用户登录与验证

(1)cookie存在实验

 

实例

<?php
//感恩
//认真的人该变了自己,坚持的人改变了命运!
//日行一善,改变命运!

// cookie
//1.设置cookie
//setcookie('username','admin',time()+3600);

//2.查看cookie: 超全局系统变量[数组]: $_COOKIE
//echo '<br>',$_COOKIE['username'];
//3.删除cookie
setcookie('username', 'admin', time()-3600);

运行实例 »

点击 "运行实例" 按钮查看在线实例

(2)登录实验

 

实例

<?php

//感恩
//认真的人该变了自己,坚持的人改变了命运!
//日行一善,改变命运!

if('POST'==$_SERVER['REQUEST_METHOD']){
    //
    require 'inc/function.php';
    
    require 'inc/connect.php';
    //验证登录
    list($check,$data)=check_login($dbc,$_POST['email'],$_POST['password']);
    //检测是否验证通过
    if($check){
        //set cookie
        setcookie('id',$data['user_id']);
        setcookie('name', $data['user_name']);
        //jump
        redirect_user('loggedin.php');
    }else{
        $errors=$data;
    }
    
    //shutdown
    mysqli_close($dbc);
}

include 'login_page.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例


(3)注销登录

实例

<?php
//感恩
//认真的人该变了自己,坚持的人改变了命运!
//日行一善,改变命运!

//退出登录页面
//判断用户是否登录?
if (!isset($_COOKIE['id'])) {
require 'inc/function.php';
redirect_user();
} else {
//退出登录,删除cookie
setcookie('id', '', time()-3600);
setcookie('name', '', time()-3600);
}


$page_title = '退出登录';
//导入页面的公共头部
include 'inc/header.php';

//heredoc
echo <<< "WELCOME"
<h2 style="color:red">退出成功</h2>

<p><a href="login.php">登录</a></p>
WELCOME;



//导入页面的公共底部
include 'inc/footer.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例


2、编程: session实现用户登录与验证

(1)示例

实例

<?php
//感恩
//认真的人该变了自己,坚持的人改变了命运!
//日行一善,改变命运!
session_start();
// session
//1.设置session
$_SESSION['user_name']='admin';
$_SESSION['id'] = 120;

//2.查看session: 超全局系统变量[数组]: $_COOKIE
echo '<br>',$_SESSION['user_name'];
//3.删除浏览器上session
setcookie('PHPSESSID', '', time()-3600);
//4、删除服务器上
session_destroy();

运行实例 »

点击 "运行实例" 按钮查看在线实例

(2)登录

实例

<?php
//启动会话
session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    //加载函数库
    require 'inc/function.php';

    //连接数据库
    require 'inc/connect.php';

    //验证登录
    list($check, $data) = check_login($dbc,$_POST['email'],$_POST['password']);

    //检测是否验证通过
    if ($check) {
        //设置session

        $_SESSION['id'] = $data['user_id'];
        $_SESSION['name'] = $data['user_name'];
        //跳转
        redirect_user('loggedin.php');
    } else {
        $errors = $data;
    }

    //关闭
    mysqli_close($dbc);
}

include 'login_page.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例

(3)注销

实例

<?php
//感恩
//认真的人该变了自己,坚持的人改变了命运!
//日行一善,改变命运!

//退出登录页面
//判断用户是否登录?
if (!isset($_SESSION['id'])) {
require 'inc/function.php';
redirect_user();
} else {
//退出登录,删除cookie
setcookie('id', '', time()-3600);
setcookie('name', '', time()-3600);
}


$page_title = '退出登录';
//导入页面的公共头部
include 'inc/header.php';

//heredoc
echo <<< "WELCOME"
<h2 style="color:red">退出成功</h2>

<p><a href="login.php">登录</a></p>
WELCOME;



//导入页面的公共底部
include 'inc/footer.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例


 

3、手写: cookie与session会话机制的优缺点分析

 1518368679.jpg

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学