Maison > développement back-end > Tutoriel Python > Comment écrire une interface de connexion ?

Comment écrire une interface de connexion ?

PHP中文网
Libérer: 2017-06-20 13:46:00
original
1280 Les gens l'ont consulté

Écrire l'interface de connexion

1. Entrez le nom d'utilisateur et le mot de passe

2. Afficher le message de bienvenue après une authentification réussie

3. Verrouiller après une saisie incorrecte à trois reprises

Idée : Les exigences sont les suivantes : lors de l'écriture d'une interface de connexion, il doit y avoir un module pour stocker les informations utilisateur ; pour verrouiller après trois fois, il doit y avoir un module pour stocker les informations utilisateur verrouillées, nous savons qu'il existe deux façons de sauvegarder les informations utilisateur, l'une est ; l'enregistrement de la base de données et l'autre est l'enregistrement des fichiers, nous n'avons maintenant appris que l'enregistrement des fichiers, il y a donc deux fichiers, l'un est le fichier d'informations utilisateur et l'autre est le fichier d'informations utilisateur verrouillé.

Pour lire les informations d'un fichier, ajouter des informations et modifier des informations.

readme :

(1) L'utilisateur saisit le nom d'utilisateur

(2) Utilisateur ; Accédez au fichier verrouillé pour vérifier si l'utilisateur est verrouillé ; s'il est verrouillé, demandez à l'utilisateur de contacter l'administrateur pour le résoudre

(3) S'il n'est pas verrouillé, accédez au fichier utilisateur pour vérifier si l'utilisateur existe et demandez à l'utilisateur de saisir le mot de passe. Le message de bienvenue s'affiche après une saisie réussie ; l'utilisateur est verrouillé après trois saisies incorrectes ; > (4) Si l'utilisateur n'est pas dans le fichier utilisateur, il sera demandé que l'utilisateur n'est pas enregistré et doit s'inscrire. Écrivez un module d'inscription pour permettre à l'utilisateur de s'inscrire. Après l'enregistrement, ajoutez l'utilisateur à la liste des utilisateurs. afficher le message de bienvenue, empêchant l'utilisateur de taper et créant automatiquement un lien vers l'état de connexion.

L'organigramme est le suivant :

Le code ci-dessus implémente les fonctions de vérification et de verrouillage, et implémente également la fonction d'enregistrement des nouveaux utilisateurs, mais il y a un défaut, c'est-à-dire que lorsque l'utilisateur est verrouillé, il n'est pas supprimé du fichier actuel et est ajouté au fichier qui verrouille les informations de l'utilisateur. L'ajout d'informations au fichier est très simple, mais la suppression d'une information de. le fichier n'est pas très simple. Il ne peut pas être exploité comme vous le souhaitez avec une liste. Vous ne pouvez convertir qu'en premier, et lors de l'utilisation de fichiers dans la liste, les sauts de ligne et autres choses sont très dégoûtants. Le code ci-dessus sera converti comme suit. L'apprentissage est une chose fastidieuse, mais cela doit être fait parfaitement. Ensuite, je me référerai au code écrit par d'autres, j'apprendrai comment d'autres suppriment les informations inutiles dans le fichier, puis je l'améliorerai. code ci-dessus.
active = None
#程序执行的标识符

def verification(username):"""验证用户是否锁定"""locked_users = []
    with open("locked_file") as locked_f:for line in locked_f:
            locked_user,locked_pwd = line.split(":")
            locked_users.append(locked_user)
        print(locked_users)if username in locked_users:
        print("对不起,你的用户名已经被锁定,请联系管理员!")else:
        active = Truereturn active

def is_registered(username):"""验证用户是否注册,注册就让用户登录,未注册让用户选择重新输入或者注册"""users = {}
    with open("active_file","r+") as f:for active_line in f:
            user,pwd = active_line.split(":")
            users[user] = pwdif username in users.keys():
        test_num = 0while test_num < 3:
            user_pwd = input("请输入您的密码:")if user_pwd == users[username]:
                print("welcome back,have a good time!")return Falseelse:
                test_num += 1else:
            #用户输入三次以上锁定用户,使用的是while...else...方法
            print("对不起,你输入的次数过多,你的用户已经被锁定,请联系管理员!")
            mes = "\n" + username + ":" + users[username]
            with open("locked_file","a") as f1:
                f1.write(mes)return Falseelse:
        print("您输入的用户名不存在,请按照下面的提示选择!")
        print("注册:请输入1\n登录:请输入2")
        num = input("请输入你的选择:")if num == "1":
            register_name = input("请输入你要注册的用户名:")while True:
                register_pwd = input("请输入你的密码:")
                register_pwd2 = input("请再次输入你的密码:")if register_pwd == register_pwd2:breakelse:
                    print("您输入的密码不对,请重新输入")
            message = "\n" + register_name + ":" + register_pwd
            print("Thank for your registing,have a good time!")
            with open("active_file","a") as f_obj:
                f_obj.write(message)return False

        elif num == "2":
            user_name = input("请重新输入你的用户名:")
            verification(user_name)if __name__ == "__main__":

    username = input("请输入你的用户名:")
    active = verification(username)while active:
        active = is_registered(username)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal