登录功能完成:

1.js:设置return

function fnLogin() {

var oUname=document.getElementById("uname");

var oUpass=document.getElementById("upass");

var oError=document.getElementById("error_box");

var isError=true;

oError.innerHTML="
"

//uname

if ((oUname.value.length < 6) || (oUname.value.length > 20)) {

oError.innerHTML = "用户名要6-20位";

isError=false;

return isError;

}else if ((oUname.value.charCodeAt(0)>=48)&&(oUname.value.charCodeAt(0)<=57)){

oError.innerHTML="首字母必须是字母";

isError=false;

return isError;

}else {

for(var i=0;i

if ((oUname.value.charCodeAt(i)<48)||(oUname.value.charCodeAt(i)>57)&&(oUname.value.charCodeAt(i)<97) ||(oUname.value.charCodeAt(i)>122)){

oError.innerHTML="用户名只能是字母和数字";

isNotError=false;

return isError;

}

}

}

//upass

if ((oUpass.value.length < 6 )|| (oUpass.value.length > 20)) {

oError.innerHTML = "密码要6-20位";

isError=false;

return isError;

}

return isError;

window.alert("登录成功!")

}

2.html:设置

form

input{% extends'base.html' %}

{% block title %}登录{% endblock %}

{% block head %}

{% endblock %}

{% block main %}

登录

没有账号?立即注册

登录

{% endblock %}

3.py:

@app.route设置methods

GET

POST读取表单数据

查询数据库用户名密码对:记住用户名

跳转到首页

用户名密码不对:提示相应错误。from flask import Flask, render_template, request, redirect, url_for, session

from flask_sqlalchemy import SQLAlchemy

import config

app=Flask(__name__)

app.config.from_object(config)

db=SQLAlchemy(app)

# 创建用户模型

class User(db.Model):

__tablename__ = 'user'

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)

nickname=db.Column(db.String(50))

# db.create_all()

# 首页

@app.route('/')

def index():

return render_template('base.html')

#登录

@app.route('/login/',methods={'GET','POST'})

def login():

if request.method=='GET':

return render_template('login.html')

else:

username = request.form.get('username') # 获取form中的数据

password = request.form.get('password')

nickname = request.form.get('nickname')

user = User.query.filter(User.username == username).first()

if user:

if user.password==password:

session['user'] = username

session.permanent=True

return redirect(url_for('index')) # 返回到首页

else:

return u'error username or password' #输出错误

#注册

@app.route('/enroll/',methods={'GET','POST'})

def enroll():

if request.method=='GET':

return render_template('enroll.html')

else:

username=request.form.get('username')# 获取form中的数据

password=request.form.get('password')

nickname=request.form.get('nickname')

user = User.query.filter(User.username == username).first()

if user:

return u'username existed'

else:

user = User(username=username, password=password, nickname=nickname)

db.session.add(user)#数据库操作

db.session.commit()

return redirect(url_for('login'))# 重定向到登录页

#提问

@app.route('/questions/')

def questions():

return render_template('questions.html')

if __name__ == '__main__':

app.run(debug=True)

session:

从`flask`中导入`session`

设置`SECRET_KEY`

操作字典一样操作`session`:增加用户名`session['username']=`usernameimport os

SECRET_KEY = os.urandom(24)

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:@127.0.0.1:3306/mis_db?charset=utf8'

SQLALCHEMY_TRACK_MODIFICATIONS = False

1.网页运行结果:

成功运行跳转到首页:

2.数据库运行结果:

来源:https://www.cnblogs.com/iamzhuangyuan/p/7871801.html

html登录后记住用户名,完成登录功能,用session记住用户名相关推荐

  1. 利用Referer+URL参数 实现登录后自动跳回登录前页面

    登录后自动跳回登录前页面 原理: 利用Referer+URL参数实现 1:用户未登录,试图点击下载(下载前需要登录),点击Download时,发出的请求会带上Referer头 2: 重定向到登录页面时 ...

  2. Django:文章详情页面评论功能需要登录后才能使用,登录后自动返回到文章详情页...

    背景: 文章详情页正在查看文章,想评论一下写的不错,但是需要先登录才能.页面长这个样子: 方案: 1.点击登录链接时,将该页面的URL传递到登录视图中 request.path获取的是当前页面的相对路 ...

  3. Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】

    应用情形:在web项目中,经常会遇到用户未登录或SESSION失效时用户发出非法的权限操作,如新闻的评论.文件的下载等等,在此我们可以使用struts拦截器对该用户发出的请求进行拦截,拦截后判断用户是 ...

  4. Spring Security——实现登录后跳转到登录前页面

    基本概念 暂无. 官方文档 https://docs.spring.io/spring-security/site/docs/5.3.1.BUILD-SNAPSHOT/reference/html5/ ...

  5. java强制下线 session,登录的多地挤下线功能 redis session

    使用redis储存session 使用redis 存储 信息 和本地session 做比较 如果相同 表明是同一次登录 如果和redis不同 表明不是同一次登录 强制下线即可 req.headers. ...

  6. springsecurity登录后依然跳回登录页面的问题

    一.环境: spring-security 4.0 spring 4.1 二.问题描述: 今天在配置springsecurity时,无论登录密码是否正确均跳转至登录首页,原始配置如下 <http ...

  7. cas → 注销登录后跳转到登录页

    cas单点登出后,默认会跳到它自带的注销界面(cas-server部署见:cas5.3:CAS Server搭建 ),业务需求往往需要跳转到自定义页面,具体实现如下: 在 application.pr ...

  8. 2020.8.31,文书网又更新啦,这次直接加入了登录后才能查看。

    文书网自上线以来一直是大家热衷于攻坚的网站.我因公司的业务,也爬取了该网站,再爬取一段时间后,获得了大概30w的数据,发现文书网又更新了 2020.08.31-----可以看到文书网直接显示需要登录后 ...

  9. Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)

    1.退出登录 注册界面跳转到登陆界面:templates/register.html 前端注册界面 {# 跳转到登陆界面 #}<a href="{% url 'users:login' ...

  10. 利用SharedPreferences完成记住账号密码的功能

    利用SharedPreferences完成记住账号密码的功能 效果图: 记住密码后,再次登录就会出现账号密码,否则没有. 分析: SharedPreferences可将数据存储到本地的配置文件中 Sh ...

最新文章

  1. 老板不爽,同事不满,下属不服,是你违反了这10大团队管理原则
  2. c# 连接Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value:类型搞混弄出的错误...
  3. 面试常问的29个linux命令
  4. doubleClick-v2-as3.0 学习笔记(2)--Video相关
  5. linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口
  6. opencv stereo match sample
  7. 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
  8. 网络营销行业十大看了就想吐的“滥词”
  9. python报错:expected an indented block
  10. 计算机网络原理笔记精整理(汇总)
  11. 海外观看2022卡塔尔世界杯中文直播攻略大全
  12. 人工智能救灾减灾应用_Bluemixathon挑战的前5个救灾应用程序
  13. 关于ARM嵌入式工程师认证,AAE
  14. 【数据结构基础_双向链表(有[*pHead]和[*pEnd])_(C语言实现)】
  15. PNG8格式图片详解
  16. Try tracing
  17. SOJ4480 Easy Problem IV (并查集)
  18. 杰森xbl_每日新闻摘要:Google杀死了230万个不良广告,微软宣布XBL游戏栈等等
  19. 国行Android手机使用google全套GMS服务小结
  20. 贝叶斯统计R语言操作3——假设检验

热门文章

  1. SAP Leonardo 机器学习插件的安装
  2. CL_ABAP_COMPILER - get ID - double click on local variable
  3. ABAP xml handling via SAX - 在ABAP里另一种处理xml的机制介绍
  4. SAP CRM WebClient UI context node属性展开的执行逻辑
  5. rxjs的一个例子:什么是rxjs的OperatorFunction?
  6. python和matlab交互_MATLAB调用python,交互
  7. basic和python_PythonBasic
  8. linux weblogic 引用antlr.jar,Linux環境下Weblogic部署應用的一些問題
  9. 鸿蒙安卓数据互通吗,假如鸿蒙与安卓之间不能够实现游戏账号互通,你还会为其买单吗?...
  10. mysql proxy 管理_ProxyMySQL的Admin管理接口