php密码验证登录

参照网址:https://blog.csdn.net/qq_45659165/article/details/129008242

压缩包内3个文件:

login.php:登录

data.php:用户展示数据

logout.php:退出

php_pwd.zip

login.php解析

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
首先使用 ob_start() 函数开启输出缓存,
然后使用 session_start() 函数开启会话,
如果用户已经登录,就将页面重定向到受保护的页面 data.php,
如果用户还没有登录,就显示登录页面。
如果用户提交了登录表单,就进行身份验证。(php内设置有用户名、密码),
如果验证成功,就将会话变量 $_SESSION['loggedin'] 和 $_SESSION['username'] 设置为 true 和用户名,然后将页面重定向到受保护的页面data.php。
如果验证失败,就显示错误消息 $error。

HTML 代码包含一个标题和一个表单,表单包含用户名和密码输入框以及一个提交按钮。
在表单提交时,将表单数据发送到相同的脚本 login.php 中进行处理。
这个登录页面还包含一些 CSS 样式,用于设置页面布局和样式。ob_end_flush() 函数用于刷新输出缓存并输出内容。

data.php解析

1
2
3
4
5
6
7
8
PHP代码部分
首先启动会话,通过缓存seeion进程判断用是否登录,
若已登录,展示收包含的数据页面。
若没登录,脚本会将浏览器重定向到登录页面。

页面上还包括一个链接,可以让用户注销并结束会话。

html部分就是自动页面信息了

logou.php解析

1
2
3
首先启动会话,然后通过将$_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

原因

排查流程:

1
2
排除流程:
查看php.ini的