Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Lỗi] form đăng nhập!!
#1
Em muốn tạo 1 cái form đăng nhập nhưng không hiểu sao khi em nhập đúng tên đăng nhập không cần biết là password có đúng hay không thì vẫn cho vào hệ thống. Mọi người xem giúp em với!! Em cảm ơn mọi người rất nhiều. Đây là code của em ạ:
Mã PHP:
Private Sub cmddn_Click()
If 
Me.guest_login.Value True Then
DoCmd
.SetWarnings False
DoCmd
.RunSQL "UPDATE user SET online=0 WHERE online=-1"
DoCmd.SetWarnings True
MsgBox 
"Chao ban. @Ban dang dang nhap voi tai khoan khach"vbInformation"Thong bao"
DoCmd.Close
DoCmd
.OpenForm "mainform"
Else
If 
IsNull(Me.username.ValueThen
MsgBox 
"Ban chua nhap ten truy cap"vbInformation"Thong bao"
Me.username.SetFocus
ElseIf IsNull(Me.password.ValueThen
MsgBox 
"Ban chua nhap mat khau"vbInformation"Thong bao"
Me.password.SetFocus
Else
        If 
DCount("*""user""username='" Me.username.Value "'") > 0 Then
                
If Me.password.Value <> DLookup("password""user""username='" Me.username.Value "'"Then
                Me
.password.SetFocus
                
If saipass 0 Then
                MsgBox 
"Ban da dang nhap sai " chophepsai " lan lien tiep, chuong trinh tu dong thoat"vbInformation"Thong bao"
                
DoCmd.Quit
                
Else
                
MsgBox "Mat khau khong chinh xac, vui long kiem tra lai" Chr(13) & "Sau " saipass " lan sai chuong trinh tu dong thoat"vbInformation"Thong bao"
                
saipass saipass 1
                End 
If
                ElseIf 
DLookup("enabled""user""username='" Me.username.Value "'") = 0 Then
                MsgBox 
"Tai khoan nay hien dang bi cam truy cap. " Chr(13) & "@ Vui long lien he voi Administrator de duoc mo lai tai khoan"vbInformation"Thong bao"
                
Else
                
DoCmd.SetWarnings False
                DoCmd
.RunSQL "UPDATE user SET online=0 WHERE username <> '" Me.username.Value "' AND online =-1 "
                
DoCmd.RunSQL "UPDATE user SET online=-1 WHERE username='" Me.username.Value "'"
                
DoCmd.SetWarnings True
                MsgBox 
"Chao " DLookup("username""user""username='" Me.username.Value "'") & " .@ Chuc ban mot ngay tot lanh"vbInformation"Chao mung"
                
DoCmd.Close
                DoCmd
.OpenForm "mainform"
                
End If
        Else
        
Me.username.SetFocus
                 
If saipass 0 Then
                MsgBox 
"Ban da dang nhap sai " chophepsai " lan lien tiep, chuong trinh tu dong thoat"vbInformation"Thong bao"
                
DoCmd.Quit
                
Else
                
MsgBox "Ten truy cap khong chinh xac, vui long kiem tra lai" Chr(13) & "Sau " saipass " lan sai chuong trinh tu dong thoat"vbInformation"Thong bao"
                
saipass saipass 1
                End 
If
End If
End If
End If
End Sub 
Chữ ký của maixuanthu Kiên trì và bình tĩnh sẽ giúp bạn thành công!
Reply
Những người đã cảm ơn
#2
Hơ, thế này không cho mở là sao, có liên quan gì đến pass đâu.

If Me.guest_login.Value = True Then
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE user SET online=0 WHERE online=-1"
DoCmd.SetWarnings True
MsgBox "Chao ban. @Ban dang dang nhap voi tai khoan khach", vbInformation, "Thong bao"
DoCmd.Close
DoCmd.OpenForm "mainform"


Bạn kiểm tra lại xem nhé. LightbulbLightbulbLightbulbLightbulb
Chữ ký của cpucloi Tôi chỉ biết mỗi một điều là những điều tôi biết được còn quá ít 021
Gmail: cgiahuy13@gmail.com


ღღღღღTài sản của cpucloi (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
Mã PHP:
If Me.Password.Value <> DLookup("password""user""username='" Me.UserName.Value "'"Then 
Đây là dòng cực kỳ nguy hiểm trong thiết kế truy nhập!
Bạn cần để dòng kiểm tra là nếu mật khẩu bằng kết quả khảo sát thì cho đi, còn khác hoặc bất kỳ gì khác thì cấm.
Tránh để cấu trúc như trong file của bạn.
Thêm vào nữa, làm thế này thì người ta qua mặt thủ tục này quá dễ bằng SQL Injection.
Chẳng hạn trong ô Username, bạn gõ ' OR '1'='1
Thử xem hiệu ứng nhé!
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn
#4
Vậy anh chị có cách nào giúp em không? Em không hiểu cho lắm.
Chữ ký của maixuanthu Kiên trì và bình tĩnh sẽ giúp bạn thành công!
Reply
Những người đã cảm ơn
#5
Mình chua xemkyx nhung mình mình biết bệnh này là do bạn viết code sai o cho kiểm tra lệnh if đóng if,
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#6
Em muốn tạo 1 cái form đăng nhập chỉ cho admin đăng nhập hoặc đăng nhập bằng tài khoản khách chứ không có thêm bất cứ tài khoản nào. Và bắt lỗi đăng nhập là nếu đánh sai tên đăng nhập hoặc mật khẩu 5 lần thì chương trình sẽ tự động thoát. Đây là link của em, mong moi người giúp đỡ. Em cảm ơn rất nhiều!
http://www.mediafire.com/download/6gnknf...nhvien.rar
Chữ ký của maixuanthu Kiên trì và bình tĩnh sẽ giúp bạn thành công!
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Tự động hiện Form khi loading hết thời gian ChiMai 1 34 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
Photo [Hỏi] Mở Form trên access 2007 báo lỗi jason 5 186 22-11-16, 09:23 AM
Bài mới nhất: jason
  Query hiện lên trên form? feeling 4 162 09-11-16, 09:49 PM
Bài mới nhất: toancvp
  [Help] Chỉnh giúp Form thống kê hoanghai902 2 123 28-10-16, 06:15 PM
Bài mới nhất: hoanghai902
  [Help] Dòng chữ chạy trên form báo đến ngày sinh nhật tronghieu9792 1 121 20-10-16, 09:30 AM
Bài mới nhất: lamvankhanh

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ