WebServer/backend/server.py

69 lines
1.8 KiB
Python
Raw Normal View History

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)