Files
Epay/user/findpwd.php
2020-02-21 16:21:31 +08:00

203 lines
7.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
include("../includes/common.php");
if($conf['reg_open']==0)sysmsg('未开放商户申请');
$csrf_token = md5(mt_rand(0,999).time());
$_SESSION['csrf_token'] = $csrf_token;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>找回密码 | <?php echo $conf['sitename']?></title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link rel="stylesheet" href="//cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="//cdn.staticfile.org/animate.css/3.5.2/animate.min.css" type="text/css" />
<link rel="stylesheet" href="//cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.min.css" type="text/css" />
<link rel="stylesheet" href="//cdn.staticfile.org/simple-line-icons/2.4.1/css/simple-line-icons.min.css" type="text/css" />
<link rel="stylesheet" href="./assets/css/font.css" type="text/css" />
<link rel="stylesheet" href="./assets/css/app.css" type="text/css" />
<style>input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px white inset;-webkit-text-fill-color:#333;}img.logo{width:14px;height:14px;margin:0 5px 0 3px;}</style>
</head>
<body>
<div class="app app-header-fixed ">
<div class="container w-xxl w-auto-xs" ng-controller="SigninFormController" ng-init="app.settings.container = false;">
<span class="navbar-brand block m-t" id="sitename"><?php echo $conf['sitename']?></span>
<div class="m-b-lg">
<div class="wrapper text-center">
<strong>找回密码</strong>
</div>
<form name="form" class="form-validation">
<input type="hidden" name="csrf_token" value="<?php echo $csrf_token?>">
<div class="text-danger wrapper text-center" ng-show="authError">
</div>
<div class="list-group list-group-sm swaplogin">
<div class="list-group-item">
<select class="form-control" name="type">
<option value="email">使用邮箱找回</option><option value="phone">使用手机找回</option></select>
</div>
<div class="list-group-item">
<input type="text" name="account" placeholder="邮箱/手机号" class="form-control no-border" required>
</div>
<div class="list-group-item">
<div class="input-group">
<input type="text" name="code" placeholder="输入验证码" class="form-control no-border" required>
<a class="input-group-addon" id="sendcode">获取验证码</a>
</div>
</div>
<div class="list-group-item">
<input type="password" name="pwd" placeholder="请输入新密码" class="form-control no-border" required>
</div>
<div class="list-group-item">
<input type="password" name="pwd2" placeholder="请重新输入密码" class="form-control no-border" required>
</div>
</div>
<button type="button" id="submit" class="btn btn-lg btn-primary btn-block" ng-click="login()" ng-disabled='form.$invalid'>确认提交</button>
<a href="login.php" ui-sref="access.signup" class="btn btn-lg btn-default btn-block">返回登录</a>
</form>
</div>
<div class="text-center">
<p>
<small class="text-muted"><a href="/"><?php echo $conf['sitename']?></a><br>&copy; 2016~2020</small>
</p>
</div>
</div>
</div>
<script src="//cdn.staticfile.org/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="../assets/layer/layer.js"></script>
<script src="../assets/js/jquery-qrcode.min.js"></script>
<script src="//static.geetest.com/static/tools/gt.js"></script>
<script>
function invokeSettime(obj){
var countdown=60;
settime(obj);
function settime(obj) {
if (countdown == 0) {
$(obj).attr("data-lock", "false");
$(obj).text("获取验证码");
countdown = 60;
return;
} else {
$(obj).attr("data-lock", "true");
$(obj).attr("disabled",true);
$(obj).text("(" + countdown + ") s 重新发送");
countdown--;
}
setTimeout(function() {
settime(obj) }
,1000)
}
}
var handlerEmbed = function (captchaObj) {
var sendto,type;
captchaObj.onReady(function () {
$("#wait").hide();
}).onSuccess(function () {
var result = captchaObj.getValidate();
if (!result) {
return alert('请完成验证');
}
var ii = layer.load(2, {shade:[0.1,'#fff']});
$.ajax({
type : "POST",
url : "ajax.php?act=sendcode2",
data : {type:type,sendto:sendto,geetest_challenge:result.geetest_challenge,geetest_validate:result.geetest_validate,geetest_seccode:result.geetest_seccode},
dataType : 'json',
success : function(data) {
layer.close(ii);
if(data.code == 0){
new invokeSettime("#sendsms");
layer.msg('发送成功,请注意查收!');
}else{
layer.alert(data.msg);
captchaObj.reset();
}
}
});
});
$('#sendcode').click(function () {
if ($(this).attr("data-lock") === "true") return;
type = $("select[name='type']").val();
sendto=$("input[name='account']").val();
if(type=='phone'){
if(sendto==''){layer.alert('手机号码不能为空!');return false;}
if(sendto.length!=11){layer.alert('手机号码不正确!');return false;}
}else{
if(sendto==''){layer.alert('邮箱不能为空!');return false;}
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if(!reg.test(sendto)){layer.alert('邮箱格式不正确!');return false;}
}
captchaObj.verify();
});
};
$(document).ready(function(){
$("select[name='type']").change(function(){
if($(this).val() == 'email'){
$("input[name='account']").attr('placeholder','邮箱');
}else{
$("input[name='account']").attr('placeholder','手机号码');
}
});
$("select[name='type']").change();
$("#submit").click(function(){
if ($(this).attr("data-lock") === "true") return;
var type=$("select[name='type']").val();
var account=$("input[name='account']").val();
var code=$("input[name='code']").val();
var pwd=$("input[name='pwd']").val();
var pwd2=$("input[name='pwd2']").val();
if(account=='' || code=='' || pwd=='' || pwd2==''){layer.alert('请确保各项不能为空!');return false;}
if(pwd!=pwd2){layer.alert('两次输入密码不一致!');return false;}
if(type=='phone'){
if(account.length!=11){layer.alert('手机号码不正确!');return false;}
}else{
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if(!reg.test(account)){layer.alert('邮箱格式不正确!');return false;}
}
var csrf_token=$("input[name='csrf_token']").val();
var ii = layer.load(2, {shade:[0.1,'#fff']});
$(this).attr("data-lock", "true");
$.ajax({
type : "POST",
url : "ajax.php?act=findpwd",
data : {type:type,account:account,code:code,pwd:pwd,csrf_token:csrf_token},
dataType : 'json',
success : function(data) {
$("#submit").attr("data-lock", "false");
layer.close(ii);
if(data.code == 1){
layer.alert(data.msg, {icon: 1}, function(){window.location.href="login.php"});
}else{
layer.alert(data.msg);
}
}
});
});
$.ajax({
// 获取idchallengesuccess是否启用failback
url: "ajax.php?act=captcha&t=" + (new Date()).getTime(), // 加随机数防止缓存
type: "get",
dataType: "json",
success: function (data) {
console.log(data);
// 使用initGeetest接口
// 参数1配置参数
// 参数2回调回调的第一个参数验证码对象之后可以使用它做appendTo之类的事件
initGeetest({
width: '100%',
gt: data.gt,
challenge: data.challenge,
new_captcha: data.new_captcha,
product: "bind", // 产品形式包括floatembedpopup。注意只对PC版验证码有效
offline: !data.success // 表示用户后台检测极验服务器是否宕机,一般不需要关注
// 更多配置参数请参见http://www.geetest.com/install/sections/idx-client-sdk.html#config
}, handlerEmbed);
}
});
});
</script>
</body>
</html>