好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php实现记住密码自动登录 - php高级应用

php实现记住密码自动登录

要实现记住密码自动登录的功能我们大多数据都是利用了客户端的cookies来实现,我们利用php也不例外,有需要的朋友可以参考一下.

php制作记住密码自动登录的解决思路,其实也就是对session,cookies的操作,实例代码如下:

//检查用户是否登录   function  checklogin(){          if ( empty empty ( $_SESSION [ 'user_info' ])){     //检查一下session是不是为空           if ( empty empty ( $_COOKIE [ 'username' ]) ||  empty empty ( $_COOKIE [ 'password' ])){   //如果session为空,并且用户没有选择记录登录状          header( "location:login.php?req_url=" . $_SERVER [ 'REQUEST_URI' ]);   //转到登录页面,记录请求的url,登录后跳转过去,用户体验好。     } else {    //用户选择了记住登录状态           $user  = getUserInfo( $_COOKIE [ 'username' ], $_COOKIE [ 'password' ]);    //去取用户的个人资料           if ( empty empty ( $user )){     //用户名密码不对没到取到信息,转到登录页面          header( "location:login.php?req_url=" . $_SERVER [ 'REQUEST_URI' ]);   //开源代码phpfensi测试数据        } else {          $_SESSION [ 'user_info' ] =  $user ;    //用户名和密码对了,把用户的个人资料放到session里面          }         }         }    } 

用户提交登录信息,代码如下:

username = trim( $_POST [ 'username' ]);    $password  = md5(trim( $_POST [ 'password' ]));    $validatecode  =  $_POST [ 'validateCode' ];    $ref_url  =  $_GET [ 'req_url' ];    $remember  =  $_POST [ 'remember' ];        $err_msg  =  '' ;    if ( $validatecode != $_SESSION [ 'checksum' ]){    $err_msg  =  "验证码不正确" ;    } elseif ( $username == ''  ||  $password == '' ){    $err_msg  =  "用户名和密码都不能为空" ;    } else {    $row  = getUserInfo( $username , $password );        if ( empty empty ( $row )){    $err_msg  =  "用户名和密码都不正确" ;    } else {    $_SESSION [ 'user_info' ] =  $row ;    if (! empty empty ( $remember )){      //如果用户选择了,记录登录状态就把用户名和加了密的密码放到cookie里面     setcookie( "username" ,  $username , time()+3600*24*365);    setcookie( "password" ,  $password , time()+3600*24*365);    }    if ( strpos ( $ref_url , "login.php" ) === false){    header( "location:" . $ref_url );    } else {    header( "location:main_user.php" );    }    }    }  

当用户点退出时,清出记录登录状态,退出登录,代码如下:

function  logout(){    unset( $_SESSION [ 'user_info' ]);    if (! empty empty ( $_COOKIE [ 'username' ]) || ! empty empty ( $_COOKIE [ 'password' ])){    setcookie( "username" , null, time()-3600*24*365);    setcookie( "password" , null, time()-3600*24*365);    }    } 

查看更多关于php实现记住密码自动登录 - php高级应用的详细内容...

  阅读:40次