欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求php中实现记住密码自动登录的代码,该如何处理

程序员文章站 2022-05-15 20:06:15
...
求php中实现记住密码自动登录的代码
RT新手,希望给出可以运行的代码,谢谢
------解决方案--------------------


是从类中抽取出来。

private $_cookie_user_id='au';
private $_cookie_user_passwd='ap';

/**
* 登录,如果已经登录,则自动 跳到用户中心
*/
public function login()
{
if($_SESSION['user'])
{
goto end;//已经登录
}
$login_id=isset($_POST['login_id'])?($_POST['login_id']):'';
$passwd=isset($_POST['passwd'])?($_POST['passwd']):'';
if(!$login_id)
{
$this->toLogin();//需要登录
}

if($this->_login($login_id, $passwd))
{
$this->setloginCookie($_POST['autoLogin'],$login_id,$password);//设置登录cookie信息
}else
{
$this->output('登录失败:用户名或者密码不正确');//
再登录
');

return ;
}
end:
//$this->assign('nick_name',$_SESSION['user']['nick_name']);

$this->UCenter();

}

/**
* 返回cookie登录结果,如果cookie不存在就返回假。!
* @return boolean
*/

public function cookieLogin()
{
$cookie_login_id=$_COOKIE[$this->_cookie_user_id];
$cookie_password=$_COOKIE[$this->_cookie_user_passwd];

if($cookie_login_id)
{
$result=$this->_login($cookie_login_id, $cookie_password,true);
echo $result;//返回给ajax调用此函数
return $result;
}
else
return false;
}
/**
* 设置登录cookie信息,$autoLogin,无值或者为0 就什么都不做,
* 大于0的数字就是自动登录的日期数,小于等于0就是取消自动登录设置
* @param unknown $autoLogin 大于0就设置自动登录,小于0 就取消自动登录
*/
private function setloginCookie($autoLogin,$login_id,$passwd)
{

if(!$autoLogin) //无值就什么都不做
return;
if($autoLogin>0)//大于数字就是自动登录的日期数
{
//import('org.crypt.Base64');
$time=time()+60*60*24*$autoLogin;
setcookie($this->_cookie_user_id,$login_id,$time,'/');
setcookie($this->_cookie_user_passwd,$passwd,$time,'/');
}else //小于0就是取消
{
setcookie($this->_cookie_user_id,$login_id,time()-100,'/');
setcookie($this->_cookie_user_passwd,$passwd,time()-100,'/');
}
}


------解决方案--------------------
我给你的就是面向过程代码。
你直接去掉 public,private 就是面向过程代码了。
------解决方案--------------------
用cookie+session就可以实现啊
求php中实现记住密码自动登录的代码,该如何处理

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频