Tôi hiện đang làm việc trên Sample login application
trong đó user
thể login
với username
và password
của họ bằng cách nhấn login button
. Nếu user
là mới thì người đó cũng có thể đăng ký bằng cách chọn username
và password
. Và điều này registration
một phần của ứng dụng làm việc.Làm thế nào để xác nhận các thông tin nhập vào bởi người sử dụng với một trong cơ sở dữ liệu SQLite
câu hỏi thực tế của tôi là: Làm thế nào để so sánh người dùng nhập credentials
với một trong đó lưu trữ trong database
.
tôi đã sử dụng SELECT
truy vấn để chọn tên người dùng và pwd như thế này
public void ValidateLogin(String un, String pwd)
{
SELECT_FROM = "SELECT u_name, u_pwd FROM" + table_name + "WHERE u_name == " + un + "AND u_pwd ==" + pwd;
db.execSQL(SELECT_FROM);
}
nơi username(un)
và password(pwd)
đến từ java file login.java
khác.
Bây giờ hãy cho tôi biết làm thế nào tôi có thể làm cho một sự chuyển tiếp thành công để viewprofile trang sau khi đăng nhập thành công?
tôi thấy bốn vấn đề đúng off: 1) SQL không phải là java == là cú pháp hợp lệ cho SQL. Thay vào đó chỉ sử dụng 1 =. trong SQL nó hoạt động như các nhiệm vụ và xác nhận hợp lệ. 2) un & pwd là chuỗi ký tự và phải được chứa trong tics (') vì vậy ... "WHERE u_name ='" & un + "'AND u_pwd ='" + pwd + "'" 3) Kỹ thuật này là thiếu sót như nó để bản thân bạn mở để tiêm SQL. Thay vào đó sử dụng tham số. 4) cuối cùng bạn cần phải kiểm tra số hàng trả về. Nếu rowcount == 1 sau đó trả về true, ngược lại trả về false. – xQbert
Hơn nữa, mặc dù android lưu trữ cơ sở dữ liệu trong thư mục của ứng dụng, tôi sẽ không khuyên bạn nên lưu trữ mật khẩu dưới dạng văn bản rõ ràng. Tôi đề nghị sử dụng thay vào đó một hàm băm của mật khẩu. – Yury
cảm ơn câu trả lời của bạn xQbert và yury ... – JAaVA