Làm cách nào để tạo hệ thống đăng nhập bằng sqlite trong python?

Đầu tiên chúng ta cần tạo một cơ sở dữ liệu trong SQLite, tôi sẽ tạo cơ sở dữ liệu với tên student nên sau đây là mã để tạo cơ sở dữ liệu SQLite trong Python. Chỉ cần mở bất kỳ tệp python nào và nhập mã và chạy mã này


import  sqlite3
conn=sqlite3.connect["student.db"]
print["Database created successfully"]


Trong dòng đầu tiên, tôi đã nhập thư viện sqlite3 cần thiết để xử lý SQLite bằng Python


Bước 2. Tạo bảng

Bây giờ tôi sẽ tạo bảng có tên ADMIN. Chỉ cần nhập mã sau vào tệp python của bạn và thực thi mã này để tạo bảng bên trong cơ sở dữ liệu của bạn


import  sqlite3
conn=sqlite3.connect["student.db"]
print["Database Opened successfully"]
conn.execute["""
CREATE TABLE ADMIN[
ADMIN_ID INTEGER PRIMARY KEY AUTOINCREMENT  NOT NULL ,
USERNAME TEXT NOT NULL, 
PASSWORD TEXT NOT NULL]
"""]
print ["Table ADMIN created successfully"]
"""
###Output###
Database Opened successfully
Table ADMIN created successfully
"""


Đây exec[] là một chức năng được xác định trước được sử dụng để thực hiện bất kỳ truy vấn nào của SQLite. Nếu bạn muốn xem bảng của mình trong SQLite thì bạn có thể sử dụng Trình duyệt DB


Bước 3. Chèn dữ liệu vào bảng


Bây giờ tôi sẽ chèn dữ liệu vào bảng. Bằng cách sử dụng truy vấn SQL, chúng ta có thể chèn dữ liệu vào bảng. Sau đây là mã để chèn dữ liệu vào bảng


import  sqlite3
conn=sqlite3.connect["student.db"]
print["Database Opened successfully"]

conn.execute["INSERT INTO ADMIN[USERNAME,PASSWORD] VALUES ['admin', 'admin789']"];

conn.execute["INSERT INTO ADMIN[USERNAME,PASSWORD] VALUES ['krazy', 'krazy789']"];

conn.commit[]
print ["Records inserted successfully"]
conn.close[]
"""
###Output###
Database Opened successfully
Records inserted successfully
"""


Step 4:Display data from table


Bây giờ là lúc tìm nạp những dữ liệu này từ SQLite, vì vậy chỉ cần nhập đoạn mã sau vào tệp python của bạn và thực thi tệp này


#import library
import sqlite3
#open database
conn = sqlite3.connect['student.db']
#display recrod
cursor = conn.execute["SELECT * from ADMIN"]
print["ID\tUSERNAME\tPASSWORD"]
for row in cursor:
   print ["{}\t{}\t\t{}".format[row[0],row[1],row[2]]]
conn.close[]

 

Bạn chỉ cần nhập mã này vào tệp python của mình hoặc bạn có thể sao chép mã này để sử dụng cho mục đích cá nhân của mình. Khi bạn chạy mã này, bạn sẽ nhận được một màn hình như bên dưới



Bước 5. Đăng nhập bằng SQLite & GUI tkinter


Tôi đã tạo giao diện GUI đơn giản cho Biểu mẫu đăng nhập bằng dòng mã rất đơn giản. Sau đây là code để tạo form đăng nhập và thực hiện thao tác đăng nhập với cơ sở dữ liệu SQLite


from tkinter import *
#import library
import sqlite3
#open databse

#defining login function
def login[]:
    #getting form data
    uname=username.get[]
    pwd=password.get[]
    #applying empty validation
    if uname=='' or pwd=='':
        message.set["fill the empty field!!!"]
    else:
      #open database
      conn = sqlite3.connect['student.db']
      #select query
      cursor = conn.execute['SELECT * from ADMIN where USERNAME="%s" and PASSWORD="%s"'%[uname,pwd]]
      #fetch data 
      if cursor.fetchone[]:
       message.set["Login success"]
      else:
       message.set["Wrong username or password!!!"]
#defining loginform function
def Loginform[]:
    global login_screen
    login_screen = Tk[]
    #Setting title of screen
    login_screen.title["Krazyprogrammer.com"]
    #setting height and width of screen
    login_screen.geometry["350x250"]
    login_screen["bg"]="#1C2833"
    #declaring variable
    global  message;
    global username
    global password
    username = StringVar[]
    password = StringVar[]
    message=StringVar[]
    #Creating layout of login form
    Label[login_screen,width="300", text="Login From", bg="#0E6655",fg="white",font=["Arial",12,"bold"]].pack[]
    #Username Label
    Label[login_screen, text="Username * ",bg="#1C2833",fg="white",font=["Arial",12,"bold"]].place[x=20,y=40]
    #Username textbox
    Entry[login_screen, textvariable=username,bg="#1C2833",fg="white",font=["Arial",12,"bold"]].place[x=120,y=42]
    #Password Label
    Label[login_screen, text="Password * ",bg="#1C2833",fg="white",font=["Arial",12,"bold"]].place[x=20,y=80]
    #Password textbox
    Entry[login_screen, textvariable=password ,show="*",bg="#1C2833",fg="white",font=["Arial",12,"bold"]].place[x=120,y=82]
    #Label for displaying login status[success/failed]
    Label[login_screen, text="",textvariable=message,bg="#1C2833",fg="white",font=["Arial",12,"bold"]].place[x=95,y=120]
    #Login button
    Button[login_screen, text="Login", width=10, height=1, command=login, bg="#0E6655",fg="white",font=["Arial",12,"bold"]].place[x=125,y=170]
    login_screen.mainloop[]
#calling function Loginform
Loginform[]


Ở đây trong chương trình trên mình đã giải thích từng dòng code có comment bạn nào thấy khó hiểu thì comment cho mình biết nhé

Bước 6. Chạy mã

Bây giờ hãy sao chép mã này vào tệp python của bạn và thực thi tệp này, Bạn sẽ nhận được màn hình đầu ra như bên dưới


Đăng nhập thành công. Khi bạn nhập tên người dùng và mật khẩu tồn tại trong cơ sở dữ liệu, bạn sẽ nhận được thông báo "Đăng nhập thành công"


Ở đây trong biểu mẫu trên, tôi đã nhập tên người dùng là quản trị viên và mật khẩu là admin789 và bản ghi này tồn tại trong cơ sở dữ liệu của chúng tôi nên nó hiển thị Đăng nhập thành công


Đăng nhập không thành công. Khi bạn nhập tên người dùng và mật khẩu không tồn tại trong cơ sở dữ liệu, bạn sẽ nhận được thông báo "Sai tên người dùng hoặc mật khẩu"



Ở đây, trong biểu mẫu trên, tôi đã nhập wxyz làm tên người dùng và không có bản ghi nào tồn tại với tên người dùng wxyz nên nó hiển thị sai tên người dùng hoặc mật khẩu


Tôi hy vọng bây giờ bạn có thể Đăng nhập bằng SQLite bằng Python Tkinter


cũng ghé thăm. Đồng hồ kỹ thuật số & Analog trong Python

Email trong Python. mã 11 dòng

Trình phát nhạc trong Python

Ứng dụng đố vui bằng Python với mã nguồn

Tạo sách nói bằng Python. Chỉ có 6 dòng mã

Gửi tin nhắn WhatsApp bằng Python. chỉ có 2 dòng mã


Lời yêu cầu. -Nếu bạn thấy bài đăng này hữu ích thì hãy cho tôi biết bằng bình luận của bạn và chia sẻ nó với bạn bè của bạn.  


Nếu bạn muốn đặt câu hỏi hoặc muốn đề xuất, hãy nhập câu hỏi hoặc đề xuất của bạn vào hộp bình luận để chúng tôi có thể làm điều gì đó mới cho tất cả các bạn.  


Nếu bạn chưa đăng ký trang web của tôi thì hãy đăng ký trang web của tôi. Cố gắng học một cái gì đó mới và dạy một cái gì đó mới cho người khác.  

SQLite có tên người dùng và mật khẩu không?

Theo mặc định, cơ sở dữ liệu SQLite không yêu cầu xác thực người dùng [cơ sở dữ liệu không yêu cầu xác thực]. Sau khi bạn tạo người dùng, cơ sở dữ liệu sẽ được đánh dấu là yêu cầu xác thực [authentication- required database]. Sau đó, người dùng cần cung cấp tên người dùng và mật khẩu khi kết nối với tệp cơ sở dữ liệu .

SQLite có hỗ trợ xác thực không?

SQLite không có cơ chế xác thực sẵn có . Do đó, các tệp cơ sở dữ liệu có thể được truy cập bởi bất kỳ ai.

SQLite có thể được sử dụng trong Python không?

SQLite là cơ sở dữ liệu SQL dựa trên tệp, độc lập. SQLite đi kèm với Python và có thể được sử dụng trong bất kỳ ứng dụng Python nào của bạn mà không phải cài đặt bất kỳ phần mềm bổ sung nào .

Đăng ký đăng nhập bằng Python là gì?

Đăng nhập và đăng ký Python là mô-đun được phát triển để cung cấp xác thực người dùng cơ bản trong Python . Đây là một cấu trúc rất đơn giản vì lý do các nhà phát triển khác có thể truy cập nội dung của các tệp nguồn và xem xung quanh để tìm hiểu cách cấu trúc các mô-đun hoặc dự án của riêng họ.

Chủ Đề