Python---flask框架实现修改密码功能
数据库部分:
1 #重置密码
2 def reset_pass(phone,password):
3 conn,cursor=get_conn()
4 sql="update userdata set userpass='"+password+"' where userphone='"+phone+"'"
5 try:
6 print("正在修改密码...")
7 resetflag=cursor.execute(sql)
8 conn.commit()
9 close_conn(conn,cursor)
10 if(resetflag==1):
11 print("修改成功")
12 return 1
13 else:
14 print("修改失败!")
15 return 0
16 except:
17 print("系统错误...修改密码失败!")
18 return 0
路由部分:
1 #用户修改密码
2 @app.route('/resetpass',methods=['GET', 'POST'])
3 def resetpass():
4 userphone=request.values.get('userphone')
5 resetpass=request.values.get('resetpass')
6 print("路由获得手机号:"+userphone+"\n")
7 print("路由获得新密码:" + resetpass + "\n")
8 flag=sql.reset_pass(userphone,resetpass)
9 if(flag==1):
10 return jsonify({"data":1})
11 else:
12 return jsonify({"data":0})
html页面:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
7 <title>树懒电影---重置您的密码</title>
8 <style type="text/css">
9 #resetform{
10 margin-top: 350px;
11 margin-left: 750px;
12 }
13 </style>
14 </head>
15 <body>
16 <form method="post" id="resetform">
17 <tr>
18 <td><input type="text" id="userphone" value="" placeholder="输入您的手机号码"></td>
19 </tr><br>
20 <tr>
21 <td><input type="password" id="resetpass1" value="" placeholder="输入您的新密码"></td>
22 </tr><br>
23 <tr>
24 <td><input type="password" id="resetpass2" value="" placeholder="再次输入您的新密码"></td>
25 </tr><br>
26 <tr>
27 <td><input type="reset" value="清空"></td>
28 <td><input type="button" id="resetbtn" onclick="resetpass()" value="提交"></td>
29 </tr>
30 </form>
31 </body>
32 </html>
33 <script src="../static/js/jquery.min.js"></script>
34 <script type="text/javascript">
35 function resetpass(){
36 var userphone=document.getElementById("userphone").value
37 var resetpass1=document.getElementById("resetpass1").value
38 var resetpass2=document.getElementById("resetpass2").value
39 var submit_flag=1
40 //判空
41 if((userphone.length==0)||(resetpass1.length==0)||(resetpass2.length==0)){
42 submit_flag=0
43 alert("请把信息填写完整!")
44 }
45 //判断密码一致性
46 if(resetpass2!=resetpass1){
47 submit_flag=0
48 alert("两次填写的密码不一致")
49 document.getElementById("resetpass1").focus();
50 }
51 //判断手机号
52 if(userphone.length!=11){
53 submit_flag=0
54 alert("手机号码应为11位!")
55 document.getElementById("userphone").focus();
56 }
57 var regu = /^1[3456789]\d{9}$/
58 if(!(regu.test(userphone)) ){
59 submit_flag=0
60 alert("手机号码格式有误!")
61 document.getElementById("userphone").focus();
62 }
63 //判断密码格式
64 if(!((resetpass1.length>=6)&&resetpass1.length<=18))
65 {
66 submit_flag=0
67 alert("密码长度应该为6-16位!")
68 document.getElementById("resetpass1").focus();
69 }
70 var regex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z]).{6,18}');
71 part_pass=resetpass1.split(" ")
72 if((!(regex.test(resetpass1))) || part_pass.length!=1)
73 {
74 submit_flag=0
75 alert("密码为数字+英文字母 且不可以包含空格!")
76 document.getElementById("resetpass1").focus();
77 }
78
79 //发起请求
80 if(submit_flag==1)
81 {
82 $.ajax({
83 url:"/resetpass",
84 data:{userphone:userphone,resetpass:resetpass2},
85 success: function (data) {
86 if (data.data==1)
87 {
88 alert("密码修改成功!")
89 window.open("/",'_self')
90 }
91 else
92 {
93 alert("修改密码失败!请重试")
94 }
95 },
96 error: function (xhr, type, errorThrown) {
97 // print("ajax请求失败!")
98 }
99 })
100 }
101 // alert(submit_flag)
102 }
103 </script>
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/14800247.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地