findpwd.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. //找回密码
  3. if(!defined('IN_T')){
  4. die('hacking attempt');
  5. }
  6. //取当前步骤
  7. $step = $_SESSION['find_uid']? 'reset': 'validate';
  8. //验证手机
  9. if($step=='validate'){
  10. if(empty($_POST)){
  11. //todo
  12. }
  13. else{
  14. $res['status'] = 0;
  15. $sms_captcha = Common::sfilter($_POST['sms_captcha']);
  16. if($_SESSION['sms']['find']['captcha'] != Common::encrypt($sms_captcha)){
  17. $res['msg'] = '手机验证码不正确,请重新输入';
  18. }
  19. else if(!$uid=$Db->query("select pk_user_main from ".$Base->table('user')." where phone='".$_SESSION['sms']['find']['phone']."'","One")){
  20. $res['msg'] = '手机号未注册,请重新输入';
  21. }
  22. else{
  23. $res['status'] = 1;
  24. $res['msg'] = '手机验证成功,请重设密码';
  25. $_SESSION['find_uid'] = $uid;
  26. }
  27. echo $Json->encode($res);
  28. exit;
  29. }
  30. }
  31. //重设密码
  32. else if($step=='reset'){
  33. //未完成手机验证,返回上一步
  34. if(!$_SESSION['find_uid']){
  35. Common::base_header("Location:".$_lang['host']."passport/findpwd\n");
  36. }
  37. if(empty($_POST)){
  38. //todo
  39. }
  40. else{
  41. $re['status'] = 0;
  42. $pwd = Common::sfilter($_POST['pwd']);
  43. $repwd = Common::sfilter($_POST['repwd']);
  44. if(empty($pwd)){
  45. $re['msg'] = '请输入正确的密码';
  46. }
  47. else if($pwd!=$repwd){
  48. $re['msg'] = '重复密码不正确';
  49. }
  50. else{
  51. $Db->update($Base->table('user'),array('password'=>Common::encrypt($pwd)),array('pk_user_main'=>$_SESSION['find_uid']));
  52. $re['status'] = 1;
  53. $re['href'] = '/passport/login';
  54. $re['msg'] = '重设密码成功,请重新登录';
  55. unset($_SESSION['sms']['find']);
  56. unset($_SESSION['captcha']['find']);
  57. unset($_SESSION['find_uid']);
  58. }
  59. echo $Json->encode($re);
  60. exit;
  61. }
  62. }
  63. $tp->assign('title','找回密码');
  64. $tp->assign('step',$step);
  65. ?>