Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # app.py
- from flask import Flask, render_template, request, redirect, url_for, session
- import sqlite3
- app = Flask(__name__)
- app.secret_key = 'akuhebat' # Change this to a random value for production use
- # Initialize the database
- conn = sqlite3.connect('users.db', check_same_thread=False)
- c = conn.cursor()
- c.execute('''CREATE TABLE IF NOT EXISTS users
- (id INTEGER PRIMARY KEY, username TEXT, password TEXT)''')
- conn.commit()
- conn.close()
- @app.route('/')
- def index():
- return render_template('index.html')
- @app.route('/login', methods=['GET', 'POST'])
- def login():
- if request.method == 'POST':
- username = request.form['username']
- password = request.form['password']
- conn = sqlite3.connect('users.db')
- c = conn.cursor()
- c.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
- user = c.fetchone()
- conn.close()
- if user:
- session['username'] = username
- return redirect(url_for('index'))
- else:
- return render_template('login.html', error='Invalid username or password')
- return render_template('login.html')
- @app.route('/signup', methods=['GET', 'POST'])
- def signup():
- if request.method == 'POST':
- username = request.form['username']
- password = request.form['password']
- conn = sqlite3.connect('users.db')
- c = conn.cursor()
- c.execute("SELECT * FROM users WHERE username=?", (username,))
- existing_user = c.fetchone()
- if existing_user:
- conn.close()
- return render_template('signup.html', error='Username already exists')
- else:
- c.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password))
- conn.commit()
- conn.close()
- session['username'] = username
- return redirect(url_for('index'))
- return render_template('signup.html')
- @app.route('/logout')
- def logout():
- session.pop('username', None)
- return redirect(url_for('index'))
- if __name__ == '__main__':
- app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement