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'))