로그인 인터페이스를 작성하는 방법은 무엇입니까?

PHP中文网
풀어 주다: 2017-06-20 13:46:00
원래의
1265명이 탐색했습니다.

로그인 인터페이스 쓰기

1. 사용자 이름과 비밀번호 입력

2. 인증 성공 후 환영 메시지 표시 3. 세 번 잘못 입력하면 잠김

아이디어: 요구 사항은 다음과 같습니다. 로그인 인터페이스를 작성하려면 사용자 정보를 저장하는 모듈이 있어야 합니다. 세 번 후에 잠그려면 잠긴 사용자 정보를 저장하는 모듈이 있어야 합니다. 하나는 저장하는 것입니다. 데이터베이스에 저장하고 다른 하나는 파일 저장입니다. 이제 파일 저장에 대해서만 배웠으므로 두 개의 파일이 있습니다. 하나는 사용자 정보 파일이고 다른 하나는 잠긴 사용자 정보 파일입니다.

파일에서 정보를 읽고 정보를 추가하고 수정합니다.

readme:

(1) 사용자가 사용자 이름을 입력합니다.

(2) 사용자 이름은 잠겨 있는지 확인하기 위해 잠긴 파일에 있습니다.

(3) 잠겨 있지 않은 경우 사용자 파일로 이동하여 사용자가 비밀번호를 입력하면 성공 후 환영 메시지가 표시됩니다. 항목을 세 번 잘못 입력하면 사용자가 잠깁니다.

(4) 사용자가 사용자 파일에 없으면 등록이 필요하다는 메시지가 표시됩니다. 허용하려면 등록 모듈을 작성하세요. 사용자를 등록하고, 등록 후 사용자 목록에 사용자를 추가하고, 환영 메시지를 표시하고, 사용자가 입력하는 것을 방지하고, 로그인 상태에 자동으로 연결됩니다.

흐름도는 다음과 같습니다.

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)
로그인 후 복사

위 코드는 신규 사용자 등록 기능을 구현합니다. 하지만 거기에는 a 결점은 사용자가 잠겼을 때 현재 파일에서 삭제되지 않고 사용자 정보를 잠근 파일에 추가된다는 점이다. 목록 작업으로는 원하는 대로 파일에서 정보를 삭제할 수 없습니다. 먼저 변환만 하면 되고, 목록에 있는 파일을 조작할 때 줄 바꿈이나 기타 등등이 굉장히 역겹습니다. 위의 코드는 다음과 같이 변환됩니다.학습은 번거롭지만 완벽하게 수행되어야 합니다.다음에는 다른 사람들이 작성한 코드를 참조하여 파일에서 불필요한 정보를 삭제하는 방법을 배우고 개선하겠습니다. 위의 코드.

위 내용은 로그인 인터페이스를 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿