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('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>'); 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,'/'); } }
lz给分好小气的
是从类中抽取出来。 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('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>'); 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,'/'); } }
是从类中抽取出来。 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('登录失败:用户名或者密码不正确');//<br>去 <a href="/h/login.html">再登录</a><br>'); 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,'/'); } }
lz给分好小气的
我给你的就是面向过程代码。
你直接去掉 public,private 就是面向过程代码了。
用cookie+session就可以实现啊
利用用cookie+session已实现,谢谢各位