PHP使用cookie来记住登录状态。
为了实现自动登录记忆密码的功能,我们的大部分数据都是通过客户端的cookie实现的。我们使用PHP作为例外。我们可以找需要帮助的朋友。PHP使人们记住密码自动登录的方式,这实际上是会话、cookie的操作。
1。检查用户是否登录
复制代码代码如下所示:
检查用户是否登录
功能checklogin(){
如果(空(美元_session { 'user_info ' })){ / /查看会话是空的
如果(空(美元_cookie { 'username})| |空(美元_cookie { 'password ' })){ / /如果会话是空的,并且用户不选择日志。
标题(位置:登录。phpreq_url =美元。_server { 'request_uri}); / /去登录页面,记录URL登录请求,跳过去后,用户体验良好。
}用户选择记住登录状态
用户名= getuserinfo($ _cookie { 'username},{ 'password _cookie美元}); / /获取用户的个人数据
如果(空($)){用户名和密码不获取错误信息,请转到登录页面
标题(位置:登录。phpreq_url ={ } 'request_uri _server美元。);
其他{ }
_session美元{ 'user_info} = $用户;用户的 / /用户名和密码,在会话的个人资料
}
}
}
}
二,用户提交登录信息
复制代码代码如下所示:
用户名=装饰($ _post { 'username});
MD5密码=美元(TRIM($ _post { 'password ' }));
validatecode美元美元'validatecode_post { } =;
ref_url美元美元'req_url_get { } =;
记得_post美元美元= { 'remember};
err_msg美元=;
如果(validatecode美元!= $ _session { 'checksum ' }){
err_msg美元=验证码不正确;
} elseif($用户名= =| |密码= =美元){
err_msg美元=用户名和密码不能为空;
其他{ }
行= getuserinfo美元(美元美元的用户名,密码);
如果(空($行)){
err_msg美元=用户名和密码不正确;
其他{ }
_session美元{ 'user_info} = $行;
如果(!空(记住))如果用户选择,记录记录在cookie上的用户名和密码。
setcookie(用户名
setcookie(密码
}
如果(strpos($ ref_url,登录。PHP)= false){
标题(位置。ref_url美元);
其他{ }
标题(地点:main_user .php);
}
}
}
三,当用户点退出时,记录登录状态是清楚的。
复制代码代码如下所示:
/退出
功能的人(){
撤消($ _session { 'user_info});
如果(!空(美元_cookie { 'username})| |!空(美元_cookie { 'password ' })){
setcookie(用户名
setcookie(密码
}
}
四,简单版本示例
复制代码代码如下所示:
<
您可以读取cookie /值用户名和密码。
如果($ _cookie { 'uname}!=){ $ ckuname = _cookie美元'uname'} {;}
如果($ _cookie { 'pwd}!=){ $ ckpwd = _cookie美元'pwd'} {;}
echo $ ckuname;
回声';
echo $ ckpwd;
>
<输入>
类型=密码name=pwdid=pwdvalue=<输入/>
name =记住类型复选框值1
检查检查<输入类型>!提交name
id
<
登录用户名和密码将存储在cookie中。
如果($ _post { } = {按钮' '!)
$ uname = _post美元'uname'} {;
密码= _post美元美元'pwd'} {;
如果加密密码和cookie输入不相同,则加密
如果($ pwd!= $ ckpwd){ $ pwd = MD5($ pwd);}
记得_post美元美元= { 'remember};
如果($ = 1){
setcookie(uname
setcookie(密码
}
}
>