用户端与服务器的对话机制
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会话机制的优缺点分析

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