给我登陆注册管理源代码
时间: 2023-08-11 09:04:48 浏览: 37
这里是一个简单的Python Flask实现的登陆注册管理源代码示例:
```python
from flask import Flask, render_template, request, redirect, session
import sqlite3
app = Flask(__name__)
app.secret_key = "mysecretkey123" # 设置session密钥
# 定义数据库连接
def get_conn():
conn = sqlite3.connect('user.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS user
(username text PRIMARY KEY, password text)''')
return conn
# 注册新用户
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
conn = get_conn()
c = conn.cursor()
c.execute("INSERT INTO user (username, password) VALUES (?, ?)",
(username, password))
conn.commit()
conn.close()
return redirect('/')
return render_template('register.html')
# 用户登陆
@app.route('/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
conn = get_conn()
c = conn.cursor()
c.execute("SELECT * FROM user WHERE username=? AND password=?",
(username, password))
user = c.fetchone()
conn.close()
if user:
session['username'] = user[0]
return redirect('/profile')
else:
return render_template('login.html', error='用户名或密码错误')
return render_template('login.html')
# 用户个人资料
@app.route('/profile')
def profile():
if 'username' in session:
username = session['username']
return render_template('profile.html', username=username)
else:
return redirect('/')
# 用户注销
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect('/')
if __name__ == '__main__':
app.run(debug=True)
```
上述代码中,我们使用Flask框架实现了一个简单的登陆注册管理系统。首先,我们定义了一个get_conn函数,用于连接SQLite数据库并创建用户表。然后,我们定义了/register路由,用于处理用户注册请求。在注册页面中,我们使用form表单获取用户提交的用户名和密码,并将其插入到用户表中。接着,我们定义了/路由,用于处理用户登陆请求。在登陆页面中,我们同样使用form表单获取用户提交的用户名和密码,并在用户表中查找匹配的用户。如果匹配成功,我们使用session记录用户的登陆状态,并将用户重定向到/profile路由,否则,返回登陆页面并提示错误信息。在/profile路由中,我们检查用户的登陆状态,如果已登陆,我们显示用户的个人资料页面,否则,将用户重定向到登陆页面。最后,我们定义了/logout路由,用于处理用户注销请求,并将用户重定向到登陆页面。