登陆功能完成:html
onclick="return fnLogin()"
session:mysql
链接页面git
from flask import Flask,request,render_template,redirect,url_for,session from flask_sqlalchemy import SQLAlchemy import sqlconnect from functools import wraps from datetime import datetime app = Flask(__name__) app.config.from_object(sqlconnect)#app链接数据库 db = SQLAlchemy(app) class User(db.Model): __tablename__ ='user1' id = db.Column(db.Integer,primary_key=True,autoincrement=True) username = db.Column(db.String(20),nullable=False) password = db.Column(db.String(20), nullable=False) #againpass = db.Column(db.String(20), nullable=False) #db.create_all() #增长 # user = User(username ='xxxxx1',password ='123456') # db.session.add(user) # db.session.commit() #查找 # user = User.query.filter(User.username =='xxxxx1').first() # user.password ='123456' # user.againpass='123456' # print(user.id,user.username,user.password) #删除 # user = User.query.filter(User.username =='xxxxx1').first() # db.session.delete(user) # db.session.commit() @app.route('/') def base(): return render_template("base.html") @app.route("/login",methods=['GET','POST']) def sign_in(): if request.method =='GET': return render_template("sign_in.html") else: name = request.form.get('name') passw = request.form.get('password') user = User.query.filter(User.username == name).first() #判断用户名是否存在 if user: #判断密码是否正确 if user.password == passw: session['user']=name#记住用户名 return redirect(url_for('base')) else: return u'密码错误!' else: return u'不存在该用户名!' @app.route("/regiter",methods=['GET','POST']) def sign_up(): if request.method == 'GET': return render_template("sign_up.html") else: name = request.form.get('newname') passw = request.form.get('newpass') samename = User.query.filter(User.username == name).first() if samename: return u'username existed!' else: # 将用户名和密码存入数据库 users =User(username = name ,password = passw) db.session.add(users) db.session.commit() return render_template("sign_in.html")#注册成功后跳转到登陆界面 @app.route("/question") def question(): return render_template("wenda.html") if __name__ == '__main__': app.run(debug=True)
链接数据库sql
import os SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:@127.0.0.1:3306/data?charset=utf8' SQLALCHEMY_TRACK_MODIFICATIONS =False SECRET_KEY=os.urandom(24)
登陆.js页面 增长return false数据库
function myLogin(){ var uName = document.getElementById("name"); var uPass = document.getElementById("pass"); var uError = document.getElementById("error_box"); uError.innerHTML="<br>" //用户名 if(uName.value.length<6 && uName.value.length>12) { uError.innerHTML = "User name must be between 6 and 12 digits!"; return false; } else if ((uName.value.charCodeAt(0)>=48)&&(uName.value.charCodeAt(0)<=57)){ uError.innerHTML = "The first letter can not be a number!"; return false; } else for(var i=0;i<uName.value.length;i++){ if((uName.value.charCodeAt(i)<48 || uName.value.charCodeAt(i)>57)&&(uName.value.charCodeAt(i)<97 ||uName.value.charCodeAt(i)>122)){ uError.innerHTML = "Only number and letter! "; return false; } } //密码 if(uPass.value.length>12||uPass.value.length<6){ uError.innerHTML="The password must be between 6 and 12 digits!"; return false; } // window.alert("Successful login!") return true; }