login.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * 登录
  4. *
  5. * 包括 登录 验证 退出 操作
  6. *
  7. ***/
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class LoginControl extends SystemControl
  10. {
  11. /**
  12. * 不进行父类的登录验证,所以增加构造方法重写了父类的构造方法
  13. */
  14. public function __construct()
  15. {
  16. Language::read('common,layout,login');
  17. $result = chksubmit(true,true,'num');
  18. if ($result)
  19. {
  20. if ($result === -11){
  21. showMessage('非法请求');
  22. }elseif ($result === -12){
  23. showMessage(L('login_index_checkcode_wrong'));
  24. }
  25. if (process::islock('admin')) {
  26. showMessage('您的操作过于频繁,请稍后再试');
  27. }
  28. $obj_validate = new Validator();
  29. $obj_validate->validateparam = array(
  30. array("input"=>$_POST["user_name"], "require"=>"true", "message"=>L('login_index_username_null')),
  31. array("input"=>$_POST["password"], "require"=>"true", "message"=>L('login_index_password_null')),
  32. array("input"=>$_POST["captcha"], "require"=>"true", "message"=>L('login_index_checkcode_null')),
  33. );
  34. $error = $obj_validate->validate();
  35. if ($error != ''){
  36. showMessage(L('error').$error);
  37. }else {
  38. $model_admin = Model('admin');
  39. $array = array();
  40. $array['admin_name'] = $_POST['user_name'];
  41. $array['admin_password']= md5(trim($_POST['password']));
  42. $admin_info = $model_admin->infoAdmin($array);
  43. if(is_array($admin_info) and !empty($admin_info)) {
  44. $this->systemSetKey(array('name'=>$admin_info['admin_name'], 'id'=>$admin_info['admin_id'],'gid'=>$admin_info['admin_gid'],'sp'=>$admin_info['admin_is_super']));
  45. $update_info = array(
  46. 'admin_id'=>$admin_info['admin_id'],
  47. 'admin_login_num'=>($admin_info['admin_login_num']+1),
  48. 'admin_login_time'=>time()
  49. );
  50. $model_admin->updateAdmin($update_info);
  51. $this->log(L('nc_login'),1);
  52. process::clear('admin');
  53. @header('Location: index.php');exit;
  54. }else {
  55. process::addprocess('admin');
  56. showMessage(L('login_index_username_password_wrong'),'index.php?act=login&op=login');
  57. }
  58. }
  59. }
  60. Tpl::output('html_title',L('login_index_need_login'));
  61. Tpl::showpage('login','login_layout');
  62. }
  63. public function loginOp()
  64. {
  65. }
  66. public function indexOp()
  67. {
  68. }
  69. }