69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
|
from flask import Flask, request, render_template
|
||
|
import psycopg2
|
||
|
|
||
|
|
||
|
app = Flask(__name__, template_folder='/media/frontend')
|
||
|
|
||
|
|
||
|
DATABASE = {
|
||
|
'dbname': 'WebSite',
|
||
|
'user': 'User',
|
||
|
'password': 'Password',
|
||
|
'host': 'DataBase',
|
||
|
}
|
||
|
|
||
|
def get_db_connection():
|
||
|
conn = psycopg2.connect(**DATABASE)
|
||
|
return conn
|
||
|
|
||
|
@app.route('/', methods=['GET'])
|
||
|
def index():
|
||
|
return render_template('index.html')
|
||
|
|
||
|
@app.route('/submit', methods=['POST'])
|
||
|
def submit():
|
||
|
action = request.form.get('action')
|
||
|
|
||
|
if action == 'Login':
|
||
|
username = request.form.get('username')
|
||
|
password = request.form.get('password')
|
||
|
|
||
|
conn = get_db_connection()
|
||
|
cur = conn.cursor()
|
||
|
|
||
|
cur.execute('SELECT * FROM users WHERE username = %s AND password = %s', (username, password))
|
||
|
user = cur.fetchone()
|
||
|
|
||
|
cur.close()
|
||
|
conn.close()
|
||
|
|
||
|
if user:
|
||
|
message = "Login successful!"
|
||
|
else:
|
||
|
message = "Invalid username or password."
|
||
|
|
||
|
elif action == 'Register':
|
||
|
new_username = request.form.get('new_username')
|
||
|
new_password = request.form.get('new_password')
|
||
|
|
||
|
conn = get_db_connection()
|
||
|
cur = conn.cursor()
|
||
|
|
||
|
cur.execute('SELECT * FROM users WHERE username = %s', (new_username,))
|
||
|
if cur.fetchone():
|
||
|
message = "User already exists!"
|
||
|
else:
|
||
|
cur.execute('INSERT INTO users (username, password) VALUES (%s, %s)', (new_username, new_password))
|
||
|
conn.commit()
|
||
|
message = "Registration successful!"
|
||
|
|
||
|
cur.close()
|
||
|
conn.close()
|
||
|
|
||
|
else:
|
||
|
message = "Invalid action."
|
||
|
|
||
|
return render_template('index.html', message=message)
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
app.run(host="0.0.0.0", port=5000)
|