Skip to content
TechJunior
Menu
  • Đổi mới giáo dục
  • Nuôi dạy con cái
  • Công nghệ và đời sống
  • Thuật ngữ Lập trình
Menu

Hướng Dẫn Xây Dựng Hệ Thống Đăng Ký & Đăng Nhập Trên CMD Bằng Python

Posted on February 25, 2025

1. Giới Thiệu

Trong lập trình ứng dụng, chức năng đăng ký và đăng nhập là một trong những tính năng quan trọng để quản lý người dùng. Trong bài viết này, chúng ta sẽ xây dựng một hệ thống đăng ký và đăng nhập đơn giản sử dụng Python trên CMD, lưu trữ dữ liệu vào file JSON để đảm bảo tính lâu dài.


2. Cấu Trúc Chương Trình

Chương trình của chúng ta sẽ gồm các chức năng chính:

✅ Đăng ký người dùng mới: Kiểm tra username đã tồn tại chưa, nếu chưa thì lưu thông tin vào file JSON. ✅ Đăng nhập: Xác minh thông tin username và mật khẩu từ dữ liệu đã lưu. ✅ Lưu trữ thông tin vào JSON: Giúp lưu giữ dữ liệu ngay cả khi chương trình kết thúc. ✅ Hiển thị menu trên CMD: Cho phép người dùng thao tác qua giao diện dòng lệnh.


3. Hướng Dẫn Từng Bước

3.1. Lưu Trữ Dữ Liệu Người Dùng Trong File JSON

Để đảm bảo thông tin người dùng được lưu lại sau khi chương trình kết thúc, chúng ta sẽ sử dụng file JSON (user_data.txt) làm nơi lưu trữ.

import json

def save_user_data(username, password):
    try:
        with open('user_data.txt', 'r') as file:
            user_data = json.load(file)
    except FileNotFoundError:
        user_data = {}

    user_data[username] = password

    with open('user_data.txt', 'w') as file:
        json.dump(user_data, file, indent=4)

🔹 Giải thích:

  • Kiểm tra xem file user_data.txt có tồn tại không.
  • Nếu có, đọc dữ liệu từ file JSON.
  • Nếu không, tạo một dictionary mới.
  • Thêm username và password vào dictionary và lưu lại vào file JSON.

3.2. Đọc Dữ Liệu Từ JSON

Để kiểm tra người dùng khi đăng nhập, ta cần một hàm đọc dữ liệu từ file.

def load_user_data():
    try:
        with open('user_data.txt', 'r') as file:
            return json.load(file)
    except FileNotFoundError:
        return {}

🔹 Giải thích:

  • Nếu file tồn tại, đọc nội dung và trả về dưới dạng dictionary.
  • Nếu không tồn tại, trả về một dictionary rỗng.

3.3. Kiểm Tra Người Dùng Đã Tồn Tại

def check_user_exists(username):
    return username in load_user_data()

🔹 Giải thích:

  • Tải dữ liệu từ file JSON và kiểm tra xem username có tồn tại không.

3.4. Chức Năng Đăng Ký Người Dùng Mới

def register():
    username = input("Nhập tên đăng nhập: ")
    password = input("Nhập mật khẩu: ")

    if check_user_exists(username):
        print("Tên đăng nhập đã tồn tại!")
    else:
        save_user_data(username, password)
        print("Đăng ký thành công!")

🔹 Giải thích:

  • Nhập username và password.
  • Kiểm tra xem username đã tồn tại chưa.
  • Nếu chưa, lưu username và password vào file JSON.

3.5. Chức Năng Đăng Nhập

def login():
    username = input("Nhập tên đăng nhập: ")
    password = input("Nhập mật khẩu: ")

    user_data = load_user_data()
    if user_data.get(username) == password:
        print("Đăng nhập thành công!")
    else:
        print("Sai tên đăng nhập hoặc mật khẩu.")

🔹 Giải thích:

  • Nhập username và password từ người dùng.
  • Kiểm tra trong file JSON.
  • Nếu đúng, hiển thị thông báo đăng nhập thành công, nếu sai, báo lỗi.

3.6. Tạo Menu Chọn Chức Năng

def main():
    while True:
        print("\n1. Đăng ký")
        print("2. Đăng nhập")
        print("3. Thoát")
        choice = input("Lựa chọn: ")

        if choice == "1":
            register()
        elif choice == "2":
            login()
        elif choice == "3":
            print("Tạm biệt!")
            break
        else:
            print("Lựa chọn không hợp lệ!")

if __name__ == "__main__":
    main()

🔹 Giải thích:

  • Hiển thị menu để người dùng chọn chức năng.
  • Dùng vòng lặp while True để liên tục nhận lựa chọn từ người dùng.
  • Nếu chọn “3”, chương trình sẽ thoát.

4. Tổng Kết

✔ Truy cập & lưu dữ liệu lâu dài: Sử dụng JSON giúp lưu trữ tài khoản ngay cả khi chương trình kết thúc. ✔ Giao diện dòng lệnh đơn giản: Giúp dễ dàng thao tác trên CMD. ✔ Chia nhỏ các chức năng: Dễ mở rộng và bảo trì.

📌 Với cách tiếp cận này, bạn có thể nâng cấp hệ thống bằng cách thêm bảo mật nâng cao như băm mật khẩu (hashing) để tăng tính an toàn.

🚀 Hãy thử ngay và nâng cao kỹ năng lập trình Python của bạn!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • 🔥 Danh Sách Liên Kết Trong C – Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao! 🔥
  • 🔥 Con trỏ trong C – Từ Cơ Bản Đến Nâng Cao🔥
  • XU HƯỚNG NỔI BẬT TRONG ỨNG DỤNG TRÍ TUỆ NHÂN TẠO (AI) TRONG DỊCH THUẬT
  • 10 công cụ AI tốt nhất cho giáo viên trong 2025
  • Unitree G1 – Robot Hình Người Đầu Tiên Có Thể “Bật Tôm”! 🤖🔥

Categories

  • Uncategorized
©2025 TechJunior | Design: Newspaperly WordPress Theme