PHP实现了一个简单的用户登陆实例

PHP实现了一个简单的用户登陆实例

前言:uff1a

最后一部分要完成的是对用户提交的数据进行管理。至于管理,那一定是管理员的事。这包括登陆、检查帐户权限、帐户是否过期。

所需的知识

会话,这真是一个非常重要的事情。我遇到的会话不能修改PHP.ini的页面,session.use_trans_sid = 0 = 1。

具体的实现

我的后台设计很简单,只需要一个密码,密码当然保存在服务器上可以更改,所以你只需要添加两个变量到会话,标志,时间。



首先,使用标记来确定管理员已成功登陆,并用时间来确定着陆时间。当密码提交,如果标志是正确地分配到1,时间分配的当前时间。每次你进入一个新的页面或操作将根据这两个变量,先确定标志值为1,不仅直接指示不落地,会话,破坏如果1,然后判断当前时间_session美元(时间)小于600(10分钟),如果一个大的,提示登录超时和会话的破坏;如果少了,允许经营,并更新该变量的值是时间的当前值。

部分代码

check_pw.php


< PHP
session_start();
_session美元{ 'flag} = 0;
美元= fopen(myfile passwd
$ passwd = fgets($ myfile);
如果(空(美元_post {往' })){
回声不能是空的,重新输入;
$;
其他{ }
通过_post美元美元= { }往;
密码= test_input美元($ passwd);
通过test_input美元=(合传);
如果($通= = $ passwd){
密码正确,允许访问;
美元=list_all PHP网页。;
_session美元{ 'flag} = 1;
_session美元{时间} =(时间); / /秒数
其他{ }
返回密码错误,重新输入;
$;
}
}

功能test_input($日){
日期=修剪(日期);
日期= stripcslashes美元($日);
$日期= htmlspecialchars($日);
返回日期;
}
>
rel=nofollow>这跳外




List_all.php (part)


< PHP
session_start();
如果($ _session { } = = 1 'flag){
如果(时间()至_session {时间} > 600){
着陆超时;
回声指向着陆;
session_destroy();
出口();
其他{ }
_session美元{时间} =时间();
}
其他{ }
没有登陆,没有访问的权利!;
回声指向着陆;
session_destroy();
出口();
}
>




谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。