48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
from flask import render_template, request, flash, redirect, url_for
|
|
from .get_db import get_db
|
|
|
|
def signup():
|
|
if request.method == 'GET':
|
|
return render_template('signup.html')
|
|
|
|
if request.method == 'POST':
|
|
id = request.form['cardCode']
|
|
name = request.form['name']
|
|
phone_number = request.form['mobileNo']
|
|
password = request.form['encryptedPassword']
|
|
|
|
db = get_db()
|
|
cursor = db.cursor()
|
|
|
|
# 检查已有用户
|
|
sql = """
|
|
SELECT COUNT(*) FROM Users \
|
|
WHERE ID = %s;
|
|
"""
|
|
try:
|
|
cursor.execute(sql, (id,))
|
|
id_exist = cursor.fetchall()[0][0]
|
|
except Exception as e:
|
|
flash("数据库异常,查询失败")
|
|
print(e)
|
|
return redirect(url_for('signup'))
|
|
if (id_exist != 0):
|
|
flash("您已注册过,请勿重复注册")
|
|
db.close()
|
|
return redirect(url_for('index'))
|
|
|
|
# 插入
|
|
sql = '''
|
|
INSERT INTO passengers (ID, `Name`, Phone_number, `Password`) \
|
|
VALUES (%s, %s, %s, %s); \
|
|
'''
|
|
try:
|
|
cursor.execute(sql, (id, name, phone_number, password))
|
|
db.commit()
|
|
flash("注册成功")
|
|
except Exception as e:
|
|
db.rollback()
|
|
print(e)
|
|
flash("数据库异常,注册失败")
|
|
db.close()
|
|
return redirect(url_for('index')) |