Simple python login system

I got bored so I made a version of my login page that uses replit database

import os
import time
from replit import db

def clear_screen():
    if os.name == 'nt':
        _ = os.system('cls')
    else:
        _ = os.system('clear')
      
logedin = False

print("Python Login Page")
print("")
print("WARNING: don't ever enter real login information into this repl")
print("")

time.sleep(7)

while logedin != True:
  clear_screen()
  print("(1) Sign Up")
  print("(2) Login")
  answer = input(">> ")
  if answer == "1":
    used = False
    clear_screen()
    print("Sign Up")
    print("")
    print("New username")
    newUsername = input(">> ")
    print("New password")
    newPassword = input(">> ")
    keys = db.keys()
    for i in keys:
      if newUsername == i:
        used = True
    if used == False:
      db[newUsername] = newPassword
      print("Data saved")
    else:
      print("Username already in use")
    time.sleep(2)
  
  elif answer =="2":
    real = False
    clear_screen()
    print("Log In")
    print("")
    print("Username")
    username = input(">> ")
    print("Password")
    password = input(">> ")
    keys = db.keys()
    for i in keys:
      if username == i:
        real = True

    if real == True:
      if db[username] == password:
        print("Login successful")
        logedin = True
      else:
        print("Login unsuccessful")
    else:
      print("Login unsuccessful")
    
    time.sleep(2)
  else:
    print("Invalid option")
    time.sleep(2)
1 Like

Or, y’know, the much faster alternative:

clear_screen = lambda: print('\033c', end='', flush=True)

lol


BTW, the Database would reset for every user who used your Repl

5 Likes

Does replit db normally reset for each user?

Yes, as it temp forks the repl and all it’s tools (including db) when viewing cover page.

3 Likes

Does it happen for all databases hosted on replit or just replit db?

Just replit DB, properly configured databases won’t even work on the cover page.

3 Likes