数据库部分:

 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. Google C++ 风格指南记录

    最近在看谷歌的 C++ 风格指南发现了一些有意思的知识点,遂记录下 1. 第六章第二小节介绍了右值引用 只在定义移动构造函数与移动赋值操作时使用右值引用. 不要使用 std::forward. 定义: ...

  2. django中如果不是第一次迁移的时候就配置AUTH_USER_MODEL(用来告知django认证系统识别我们自定义的模型类),那么该如何解决才能让django的认证系统识别且不会报未知错误?

    Django认证系统中提供的用户模型类及方法很方便,我们可以使用这个模型类,但是字段有些无法满足项目需求,如还需要保存用户的手机号,需要给模型类添加额外的字段. Django提供了django.con ...

  3. java基础字符串---02

    String 概述 String类在java.lang包下,所以使用的时候不需要导包 String类代表字符串,java程序中的所有字符串文字(例如"abc")都被实现为此类的实例 ...

  4. Kotlin 协程五 —— 在Android 中使用 Kotlin 协程

    目录 一.Android MVVM 结构 二.添加依赖 三.在后台线程中执行 3.1 协程解决了什么问题 3.2 保证主线程安全 3.3 withContext 的性能 四.结构化并发 4.1 追踪协 ...

  5. 【ACM专项练习#02】整行字符串、输入vector、打印图形、处理n组数据以及链表操作等

    输入整行字符串 平均绩点 题目描述 每门课的成绩分为A.B.C.D.F五个等级,为了计算平均绩点,规定A.B.C.D.F分别代表4分.3分.2分.1分.0分. 输入 有多组测试样例.每组输入数据占一行 ...

  6. 如何将 IPhone 的文件导入 Linux

    如何将 IPhone 的文件导入 Linux 完全免费方案. 方法一: 使用 Koder 的 Local File Access 功能 这方法不需要在 Linux 端做任何配置. IPhone 端 安 ...

  7. 按值传递,引用传递 浅析java String ,对象与对象引用的区别

    目录 一.前言 二.何谓对象? 三.何谓对象引用? 四.创建对象 Vehicle veh1 = new Vehicle(); 五.参数传值 六.Java Sting 最后!有错误的地方欢迎指正 一.前 ...

  8. 虚拟机和开发板之间通过NFS互联

    简介 NFS是Network File System的首字母缩写.它是一种分布式协议,使客户端可以访问远程服务器上的共享文件.它允许网络中的计算机之间通过TCP/IP网络共享资源. 配置过程 安装NF ...

  9. Vite-vue3 架构设计

    Vite-vue3 架构设计 基础信息 Gitee项目地址:https://gitee.com/pengchenggang/vite-vue3 1 创建vite-vue3 初始化脚本 $ npm in ...

  10. springMVC+JDBC:分页示例

    文章来源:http://liuzidong.iteye.com/blog/1067492 一 环境:XP3+Oracle10g+MyEclipse6+(Tomcat)+JDK1.5 二 工程相关图片: ...