html登录后记住用户名,完成登录功能,用session记住用户名
登录功能完成:
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记住用户名相关推荐
- 利用Referer+URL参数 实现登录后自动跳回登录前页面
登录后自动跳回登录前页面 原理: 利用Referer+URL参数实现 1:用户未登录,试图点击下载(下载前需要登录),点击Download时,发出的请求会带上Referer头 2: 重定向到登录页面时 ...
- Django:文章详情页面评论功能需要登录后才能使用,登录后自动返回到文章详情页...
背景: 文章详情页正在查看文章,想评论一下写的不错,但是需要先登录才能.页面长这个样子: 方案: 1.点击登录链接时,将该页面的URL传递到登录视图中 request.path获取的是当前页面的相对路 ...
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
应用情形:在web项目中,经常会遇到用户未登录或SESSION失效时用户发出非法的权限操作,如新闻的评论.文件的下载等等,在此我们可以使用struts拦截器对该用户发出的请求进行拦截,拦截后判断用户是 ...
- Spring Security——实现登录后跳转到登录前页面
基本概念 暂无. 官方文档 https://docs.spring.io/spring-security/site/docs/5.3.1.BUILD-SNAPSHOT/reference/html5/ ...
- java强制下线 session,登录的多地挤下线功能 redis session
使用redis储存session 使用redis 存储 信息 和本地session 做比较 如果相同 表明是同一次登录 如果和redis不同 表明不是同一次登录 强制下线即可 req.headers. ...
- springsecurity登录后依然跳回登录页面的问题
一.环境: spring-security 4.0 spring 4.1 二.问题描述: 今天在配置springsecurity时,无论登录密码是否正确均跳转至登录首页,原始配置如下 <http ...
- cas → 注销登录后跳转到登录页
cas单点登出后,默认会跳到它自带的注销界面(cas-server部署见:cas5.3:CAS Server搭建 ),业务需求往往需要跳转到自定义页面,具体实现如下: 在 application.pr ...
- 2020.8.31,文书网又更新啦,这次直接加入了登录后才能查看。
文书网自上线以来一直是大家热衷于攻坚的网站.我因公司的业务,也爬取了该网站,再爬取一段时间后,获得了大概30w的数据,发现文书网又更新了 2020.08.31-----可以看到文书网直接显示需要登录后 ...
- Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)
1.退出登录 注册界面跳转到登陆界面:templates/register.html 前端注册界面 {# 跳转到登陆界面 #}<a href="{% url 'users:login' ...
- 利用SharedPreferences完成记住账号密码的功能
利用SharedPreferences完成记住账号密码的功能 效果图: 记住密码后,再次登录就会出现账号密码,否则没有. 分析: SharedPreferences可将数据存储到本地的配置文件中 Sh ...
最新文章
- 老板不爽,同事不满,下属不服,是你违反了这10大团队管理原则
- c# 连接Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value:类型搞混弄出的错误...
- 面试常问的29个linux命令
- doubleClick-v2-as3.0 学习笔记(2)--Video相关
- linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口
- opencv stereo match sample
- 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
- 网络营销行业十大看了就想吐的“滥词”
- python报错:expected an indented block
- 计算机网络原理笔记精整理(汇总)
- 海外观看2022卡塔尔世界杯中文直播攻略大全
- 人工智能救灾减灾应用_Bluemixathon挑战的前5个救灾应用程序
- 关于ARM嵌入式工程师认证,AAE
- 【数据结构基础_双向链表(有[*pHead]和[*pEnd])_(C语言实现)】
- PNG8格式图片详解
- Try tracing
- SOJ4480 Easy Problem IV (并查集)
- 杰森xbl_每日新闻摘要:Google杀死了230万个不良广告,微软宣布XBL游戏栈等等
- 国行Android手机使用google全套GMS服务小结
- 贝叶斯统计R语言操作3——假设检验
热门文章
- SAP Leonardo 机器学习插件的安装
- CL_ABAP_COMPILER - get ID - double click on local variable
- ABAP xml handling via SAX - 在ABAP里另一种处理xml的机制介绍
- SAP CRM WebClient UI context node属性展开的执行逻辑
- rxjs的一个例子:什么是rxjs的OperatorFunction?
- python和matlab交互_MATLAB调用python,交互
- basic和python_PythonBasic
- linux weblogic 引用antlr.jar,Linux環境下Weblogic部署應用的一些問題
- 鸿蒙安卓数据互通吗,假如鸿蒙与安卓之间不能够实现游戏账号互通,你还会为其买单吗?...
- mysql proxy 管理_ProxyMySQL的Admin管理接口