参照网址:https://blog.csdn.net/qq_45659165/article/details/129008242
压缩包内3个文件:
login.php:登录
data.php:用户展示数据
logout.php:退出
php_pwd.zip
login.php解析
| 首先使用 ob_start() 函数开启输出缓存,
然后使用 session_start() 函数开启会话,
如果用户已经登录,就将页面重定向到受保护的页面 data.php,
如果用户还没有登录,就显示登录页面。
如果用户提交了登录表单,就进行身份验证。(php内设置有用户名、密码),
如果验证成功,就将会话变量 $_SESSION['loggedin'] 和 $_SESSION['username'] 设置为 true 和用户名,然后将页面重定向到受保护的页面data.php。
如果验证失败,就显示错误消息 $error。
HTML 代码包含一个标题和一个表单,表单包含用户名和密码输入框以及一个提交按钮。
在表单提交时,将表单数据发送到相同的脚本 login.php 中进行处理。
这个登录页面还包含一些 CSS 样式,用于设置页面布局和样式。ob_end_flush() 函数用于刷新输出缓存并输出内容。
|
data.php解析
| PHP代码部分
首先启动会话,通过缓存seeion进程判断用是否登录,
若已登录,展示收包含的数据页面。
若没登录,脚本会将浏览器重定向到登录页面。
页面上还包括一个链接,可以让用户注销并结束会话。
html部分就是自动页面信息了
|
logou.php解析
| 首先启动会话,然后通过将$_SESSION 数组设置为空数组来清除所有会话变量。
然后,通过调用session_destroy() 函数来销毁会话,并确保删除会话 cookie。
最后,脚本将浏览器重定向到登录页面。
|
可能遇到的问题:
报错1:
PHP message: PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0" while reading upstream
原因
排查流程: