login.inc.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. if (!defined('IN_MYMPS')) {
  3. exit('Forbidden');
  4. }
  5. $userpwd = trim($userpwd);
  6. $loginip = GetIP();
  7. $logintime = $timestamp ? $timestamp : time();
  8. $memory = isset($memory) ? trim($memory) : '';
  9. $url = $url ? urldecode($url) : '';
  10. if ($authcodesettings['login'] == 1 && !($randcode = mymps_chk_randcode($checkcode))) {
  11. write_msg('验证码输入错误,请返回重新输入');
  12. }
  13. ($userid == '' || $userpwd == '') && write_msg('用户帐号或密码不能为空');
  14. $user_id = $db->getOne('SELECT userid FROM `' . $db_mymps . 'member` WHERE userid=\'' . $userid . '\' OR mobile=\'' . $userid . '\' OR email=\'' . $userid . '\'');
  15. if ($user_id) {
  16. $row = $db->getRow('SELECT userid,status FROM `' . $db_mymps . 'member` WHERE userid=\'' . $user_id . '\' AND userpwd=\'' . md5($userpwd) . '\'');
  17. if (!$row) {
  18. write_msg('登录失败,您输入了错误的账号或密码!');
  19. exit();
  20. }
  21. $s_uid = $row['userid'] ? $row['userid'] : $userid;
  22. $userid = $s_uid;
  23. }
  24. else {
  25. $s_uid = NULL;
  26. }
  27. $row['status'] = in_array(PASSPORT_TYPE, array('ucenter', 'phpwind')) ? 1 : $row['status'];
  28. if (PASSPORT_TYPE == 'ucenter') {
  29. require MYMPS_ROOT . '/uc_client/client.php';
  30. list($uid, $username, $password, $email) = uc_user_login($userid, $userpwd);
  31. if (0 < $uid) {
  32. if (!$db->getOne('SELECT count(*) FROM ' . $db_mymps . 'member WHERE userid=\'' . $userid . '\'')) {
  33. member_reg($userid, md5($userpwd), $email, '', '', '', '', 1);
  34. }
  35. else {
  36. $db->query('UPDATE `' . $db_mymps . 'member` SET userpwd = \'' . md5($userpwd) . ('\' WHERE userid = \'' . $userid . '\''));
  37. }
  38. $s_uid = $userid;
  39. }
  40. else {
  41. if ($uid == -1) {
  42. write_msg('用户不存在,或者被删除');
  43. }
  44. else if ($uid == -2) {
  45. write_msg('密码输入错误');
  46. }
  47. else {
  48. write_msg('未定义操作');
  49. }
  50. exit();
  51. }
  52. }
  53. if ($s_uid) {
  54. if (empty($row['status'])) {
  55. write_msg('您的账号 [<b>' . $s_uid . '</b>] 目前处于<font color=red>待审状态</font>!<br>请进入邮箱查收验证邮件或等待客服人员开通账号!');
  56. }
  57. else {
  58. $db->query('UPDATE `' . $db_mymps . 'member` SET logintime=\'' . $timestamp . '\',loginip=\'' . $loginip . '\' WHERE userid = \'' . $userid . '\' ');
  59. $member_log->in($s_uid, md5($userpwd), $memory, 'noredirect');
  60. }
  61. if (PASSPORT_TYPE == 'phpwind' && $user_login['synlogin']) {
  62. echo $user_login['synlogin'];
  63. }
  64. else if (PASSPORT_TYPE == 'ucenter') {
  65. echo uc_user_synlogin($uid);
  66. }
  67. echo mymps_goto($url ? $url : $mymps_global['SiteUrl'] . '/member/index.php');
  68. }
  69. else {
  70. write_msg('登录失败,您输入了错误的账号或密码!');
  71. }
  72. ?>