import streamlit as st import sqlite3 # Create a Database (SQLite Example) import sqlite3 def initialize_db(): conn = sqlite3.connect("users.db") c = conn.cursor() c.execute("""CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT UNIQUE, password TEXT)""") conn.commit() conn.close() # Call this function at the start of the app initialize_db() def register_user(username, password): conn = sqlite3.connect("users.db") c = conn.cursor() c.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password)) conn.commit() conn.close() def login_user(username, password): conn = sqlite3.connect("users.db") c = conn.cursor() c.execute("SELECT password FROM users WHERE username = ?", (username,)) stored_password = c.fetchone() conn.close() if stored_password and password == stored_password[0]: # Directly compare passwords return True return False # Streamlit UI st.title("User Management System") menu = ["Home", "Login", "Register"] choice = st.sidebar.selectbox("Menu", menu) if choice == "Register": st.subheader("Create new Account") new_user = st.text_input("Username") new_pass = st.text_input("Password") if st.button("Sign Up"): register_user(new_user, new_pass) st.success("You have Successfully Registered") elif choice == "Login": st.subheader("Login") username = st.text_input("Username") password = st.text_input("Password", type="password") if st.button("login"): login_user(username, password) st.success(f"Welcome, {username}!") else: st.error("Invalid!")