$db->query($sql); $user->logout(); show_message($_LANG['send_pwd_mobile_success'], $_LANG['relogin_lnk'], 'user.php?act=login', 'info'); } else { show_message($_LANG['send_pwd_mobile_false'], $_LANG['back_page_up'], '', 'info'); } } else { show_message($_LANG['send_pwd_mobile_failured'] . $ret, $_LANG['back_page_up'], '', 'info'); } } else { //用户名与手机不匹配 show_message($_LANG['username_no_mobile'], $_LANG['back_page_up'], '', 'info'); } } elseif ($action == 'bindmobile') { require dirname(__FILE__) . '/includes/lib_sms.php'; $_SESSION['sms_code'] = getverifycode(); $smarty->assign('sms_code', $_SESSION['sms_code']); $smarty->assign('ztime', $_CFG['ihuyi_sms_smsgap']); $smarty->display('user_transaction.dwt'); } elseif ($action == 'act_bindmobile') { require_once ROOT_PATH . 'includes/lib_sms.php'; require_once ROOT_PATH . 'languages/' . $_CFG['lang'] . '/sms.php'; $mobile = isset($_POST['mobile']) ? trim($_POST['mobile']) : ''; //手机号 $verifycode = isset($_POST['verifycode']) ? trim($_POST['verifycode']) : ''; //验证码 if ($_CFG['ihuyi_sms_mobile_bind'] == '1') { /* 提交的手机号是否正确 */ if (!ismobile($mobile)) { show_message($_LANG['invalid_mobile_phone']); }
} /* 提交的手机号是否已经绑定帐号 */ $sql = "SELECT COUNT(user_id) FROM " . $ecs->table('users') . " WHERE mobile_phone = '{$mobile}'"; if ($db->getOne($sql) > 0) { $result['error'] = 3; $result['message'] = $_LANG['mobile_phone_binded']; die($json->encode($result)); } /* 获取验证码请求是否获取过 */ $sql = "SELECT COUNT(id) FROM " . $ecs->table('verifycode') . " WHERE (status=4 or status=5) AND getip='" . real_ip() . "' AND dateline>'" . gmtime() . "'-" . $_CFG['ecsdxt_smsgap']; if ($db->getOne($sql) > 0) { $result['error'] = 4; $result['message'] = sprintf($_LANG['get_verifycode_excessived'], $_CFG['ecsdxt_smsgap']); die($json->encode($result)); } $verifycode = getverifycode(); $smarty->assign('shop_name', $_CFG['shop_name']); $smarty->assign('user_mobile', $mobile); $smarty->assign('verify_code', $verifycode); $content = $smarty->fetch('str:' . $_CFG['ecsdxt_mobile_bind_value']); /* 发送注册手机短信验证 */ $ret = sendsms($mobile, $content); if ($ret === true) { //插入获取验证码数据记录 $sql = "INSERT INTO " . $ecs->table('verifycode') . "(mobile, getip, verifycode, dateline, `type`) VALUES ('" . $mobile . "', '" . real_ip() . "', '{$verifycode}', '" . gmtime() . "', 3)"; $db->query($sql); $result['error'] = 0; $result['message'] = $_LANG['bind_mobile_verifycode_successed']; die($json->encode($result)); } else { $result['error'] = 5;