Blogger Information
Blog 34
fans 0
comment 1
visits 23404
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
会话控制技术—2018年8月31日23时45分
感恩的心的博客
Original
557 people have browsed it

 

 用户端与服务器的对话机制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

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post