Coding issue - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Coding issue (/thread-20256.html) |
Coding issue - 1557676 - Aug-02-2019 Hi guys! I'm new to python and coding in general. I'm trying to make a program which will register new users and login registered users. My issue is when I register a user using the program and attempt to login using the same username and password, the print says 'access denied' instead of what it should say, 'access granted'. I don't know what's the issue here. It would be great if you guys could help. Thanks! Here is the code: a = input('Logging in or new user') registration = [] passwords = [] if a == 'logging in': b = input('username') c = input('password') if b in registration: if c in passwords: print('Access granted') else: print('Access Denied') else: print('Access Denied') if a == 'new user': d = input('New username') e = input('New password') f = input('confirm password') if e == f: print('Welcome ' + d) registration.append(d) passwords.append(e)(edit: everything is properly indented) Thank you Yoriz! I will follow these instructions next time. RE: Coding issue - Yoriz - Aug-02-2019 Each time you run this code, the lists will be empty. There is no loop to enable a login after a user has been added without the code ending. Note: your logic will allow any username matched with any password to login. RE: Coding issue - cvsae - Aug-02-2019 You can use dict to store usernames and passwords instead of list, and save dict to a file and load it each time when you run the *program check my example bellow import json import os auth_file = "auth.json" auth = None def loadAuth(): if os.path.isfile(auth_file): return eval(open(auth_file).read()) return {} def saveAuth(): json.dump(auth, open(auth_file, 'wt')) if __name__ == '__main__': auth = loadAuth() operation = input('Login in or new user: ') if operation == 'login': username = input('username: ') password = input('password: ') if username in auth.keys() and auth[username] == password: print('Access granted') else: print('Access Denied - Wrong username or password') elif operation == 'new user': username = input('New username: ') password = input('New password: ') password_conf = input('confirm password: ') if password == password_conf: if username not in auth.keys(): auth[username] = password saveAuth() auth == loadAuth() print('Welcome ' + username) print (username,auth[username]) else: print ("Username already exists") |