热门IT资讯网

如何用会话控制实现页面登录与注销

发表于:2024-11-30 作者:热门IT资讯网编辑
编辑最后更新 2024年11月30日,首先是一个普通的登陆页面实现登录页面login.php 登陆页

首先是一个普通的登陆页面实现

登录页面login.php

            登陆页                        
用户登录

登录功能实现action.php

   "cyy",            "password" => "123456"        );    }    function sendLoginFailedResponse() {        $response = "";        echo $response;        die;    }    function rememberLogin($username) {        setcookie("username", $username, time() + 7 * 24 * 3600);    }

首页index.php

                            主页                                        
会话控制实战内容一
SESSION 部分

实现用户认证功能,用户登录、退出与身份识别

会话控制实战内容二
COOKIE 部分

实现登录记住用户功能,七天免登录认证

会话控制实战内容一
SESSION 部分

实现用户认证功能,用户登录、退出与身份识别

会话控制实战内容二
COOKIE 部分

实现登录记住用户功能,七天免登录认证

接下来是会话控制实例:许愿墙源码

许愿墙首页index.php

                          许愿墙                                        
"; break; case 'a2': echo "
"; break; case 'a3': echo "
"; break; case 'a4': echo "
"; break; case 'a5': echo "
"; break; default: echo "
"; break; } echo "
"; echo "{$row['name']}"; echo "No.{$row['id']}"; echo "
"; echo "
{$row['content']}
"; echo "
"; echo "{$time}"; echo ""; echo "
"; echo "
"; } mysqli_close($connection); ?>

添加愿望页面wish.php

                        许愿墙                                                        
请选择纸条颜色:
输入你的祝福纸条内容:
纸条效果预览:
第x条
署名:
您的署名:
验证码:

新增愿望实现add.php

    alert("发布成功!");_document.location = "index.php";';    }else{        echo '';    }    mysqli_close($connection);    ?>

删除愿望delete.php

    alert("删除成功!");_document.location = "index.php";';    }else{        echo '';    }    mysqli_close($connection);    ?>

附上数据库结构wall.sql

-- phpMyAdmin SQL Dump-- version 4.8.5-- https://www.phpmyadmin.net/---- 主机: localhost-- 生成日期: 2019-08-18 22:08:38-- 服务器版本: 8.0.12-- PHP 版本: 7.3.4SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";SET AUTOCOMMIT = 0;START TRANSACTION;SET time_zone = "+00:00";/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8mb4 */;---- 数据库: `wall`---- ------------------------------------------------------------ 表的结构 `wall`--CREATE TABLE `wall` (  `id` tinyint(4) NOT NULL COMMENT '留言编号',  `content` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '留言内容',  `name` varchar(20) NOT NULL DEFAULT '匿名的宝宝' COMMENT '署名',  `wish_time` int(11) NOT NULL COMMENT '留言时间',  `color` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '留言背景色') ENGINE=InnoDB DEFAULT CHARSET=utf8;---- 转存表中的数据 `wall`--INSERT INTO `wall` (`id`, `content`, `name`, `wish_time`, `color`) VALUES(17, '111', '111', 1566136880, 'a1'),(19, '333', '333', 1566136894, 'a3'),(21, '555', '555', 1566136911, 'a5'),(24, '9999', '9999', 1566137235, 'a4');---- 转储表的索引------ 表的索引 `wall`--ALTER TABLE `wall`  ADD PRIMARY KEY (`id`);---- 在导出的表使用AUTO_INCREMENT------ 使用表AUTO_INCREMENT `wall`--ALTER TABLE `wall`  MODIFY `id` tinyint(4) NOT NULL AUTO_INCREMENT COMMENT '留言编号', AUTO_INCREMENT=26;COMMIT;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

知识点补充:

【使用 COOKIE 实现会话控制】

用于存储用户关键信息

保存在客户端(浏览器)

通过 HTTP 请求/响应头传输

【COOKIE 失效】

● COOKIE过期

● 用户手动删除 COOKIE

● 服务器清除 COOKIE 的有效性

【使用 SESSION 实现会话控制】

● 用于存储用户相关信息

● 保存在服务端

● 通过保存在客户端的 SESSION ID 来定位 SESSION 内容

【SESSION 失效/清除】

● COOKIE过期(关闭浏览器)

● 用户手动删除 COOKIE

● 服务端删除 SESSION 文件或清空 SESSION 内容

以上就是利用会话控制实现页面登录与注销功能的详细内容,更多请关注其它相关文章!

0