数据库部分:

 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>

Python---flask框架实现修改密码功能的更多相关文章

  1. #3使用html+css+js制作网页 番外篇 使用python flask 框架 (II)

    #3使用html+css+js制作网页 番外篇 使用python flask 框架 II第二部 0. 本系列教程 1. 登录功能准备 a.python中操控mysql b. 安装数据库 c.安装mys ...

  2. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  3. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(三)——使用Flask-Login库实现登录功能

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  4. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(五)——实现注册功能

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  5. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(四)——对 run.py 的调整

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  6. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  7. #3使用html+css+js制作网页 番外篇 使用python flask 框架 (I)

    #3使用html+css+js制作网页 番外篇 使用python flask 框架(I 第一部) 0. 本系列教程 1. 准备 a.python b. flask c. flask 环境安装 d. f ...

  8. Linux ubantu中安装虚拟/使用环境virtualenv以及python flask框架

    今天学习了python flask框架的安装过程以及使用案例,感觉网上讲的东西都没有从我们这种初学者的角度去考虑(哈哈),最后还是奉上心得: 1.安装virtualenv $ sudo apt-get ...

  9. python flask框架学习——开启debug模式

    学习自:知了课堂Python Flask框架——全栈开发 1.flask的几种debug模式的方法 # 1.app.run 传参debug=true app.run(debug=True) #2 设置 ...

  10. python flask框架学习(二)——第一个flask程序

    第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...

随机推荐

  1. python利用random模块随机生成MAC地址和IP地址

      import random   def randomMac(): macstring = "0123456789abcdef"*12 macstringlist=random. ...

  2. 重点:递归函数,数学模块,随机模块---day14

    1.递归函数 自己调用自己的函数是递归函数 递:去 归:回 一去一回叫作递归 简单递归 def digui(n): print(n,'<==1==>') if n > 0: digu ...

  3. 2.Go 的指针

    Go的指针 1. 变量内存地址 var age = 18 // & + 变量 = 变量内存地址 fmt.Println("age:",&age) 2. 指针变量 / ...

  4. 可视化技术在 Nebula Graph 中的应用

    本文首发于 Nebula Graph Community 公众号 本文整理自 #可视化 on Live 主题直播,在本期直播中 3 位可视化嘉宾讲述了他们眼中的可视化,以及他们在可视化项目实践中踩过的 ...

  5. SpringCloud Hystrix断路器的基本使用

    官网资料: https://github.com/Netflix/Hystrix/wiki/How-To-Use 1. 服务雪崩 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系, ...

  6. Java 数组 数据类型默认值

    1 public static void main(String[] args) 2 { 3 int[] arry = new int[4]; //int 默认值0 //浮点型 0.0 4 for(i ...

  7. go程序在mac下的交叉编译

    主页 微信公众号:密码应用技术实战 博客园首页:https://www.cnblogs.com/informatics/ 背景 go语言的一大优势就是跨平台,go语言是编译型语言,与Java.C#等语 ...

  8. JS5-PC端网页特效

    常见offset系列属性作用 常见client系列属性作用 常见scroll系列属性作用 封装简单动画函数 写出网页轮播图案例 offset 偏移量,使用offset相关属性可以动态的得到该元素的位置 ...

  9. vscode中输入``自动将光标后面一个单词选中,左右加入<w>和</w>标签 - snippets 的命令调用

    需求 vscode中输入``自动将光标后面一个单词选中,左右加入和标签 步骤0 准备需要安装插件 vim - 这里的点击两次按键激活的快捷键,这个插件可以设置 macros - 一次执行多个命令的插件 ...

  10. 【python】使用百度api进行音频文件转写

    [python]使用百度api进行音频文件转写 脚本目标: 智能云的音频文件转写文档只给了个demo,每次只能传1分钟以内的音频啥的,不好直接用,简单打包一下,做到把音频放文件夹,直接出转写结果就行了 ...