Bạn có thể sử dụng mysql_num_rows()
và kết hợp truy vấn của bạn - Xem chú thích cuối trang
if(isset($_POST["name"], $_POST["password"]))
{
$name = $_POST["name"];
$password = $_POST["password"];
$result1 = mysql_query("SELECT username, password FROM Users WHERE username = '".$name."' AND password = '".$password."'");
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
}
Để làm cho mã hiện tại của bạn an toàn hơn một chút, hãy sử dụng:
$name = stripslashes($_POST["name"]);
$name = mysql_real_escape_string($_POST["name"]);
$password = stripslashes$_POST["password"]);
$password = mysql_real_escape_string($_POST["password"]);
nhưng hãy xem các liên kết bên dưới về cách sử dụng các câu lệnh đã chuẩn bị và băm mật khẩu.
Chú thích cuối trang:
Mã hiện tại của bạn được mở cho Chèn SQL . Sử dụng báo cáo đã chuẩn bị sẵn hoặc PDO với các báo cáo đã chuẩn bị sẵn . Truy cập các liên kết đó để biết thêm thông tin.
Tôi nhận thấy rằng bạn có thể đang lưu trữ mật khẩu ở dạng văn bản thuần túy. Nếu đúng như vậy, rất không khuyến khích.
Nếu bạn đang sử dụng và đây là một trang web TRỰC TIẾP, cuối cùng bạn sẽ bị tấn công.
Tôi khuyên bạn nên sử dụng CRYPT_BLOWFISH
hoặc password_hash()
của PHP 5.5
hàm số. Đối với PHP <5.5, hãy sử dụng password_hash() compatibility pack
.
mysql_*
thông báo ngừng sử dụng chức năng:
http://www.php.net/manual/en/intro.mysql .php
Tiện ích mở rộng này không được dùng nữa kể từ PHP 5.5.0 và không được khuyến nghị để viết mã mới vì nó sẽ bị xóa trong tương lai. Thay vào đó, mysqli hoặc PDO_MySQL phần mở rộng nên được sử dụng. Xem thêm Tổng quan về API MySQL để được trợ giúp thêm khi chọn MySQL API.
Các chức năng này cho phép bạn truy cập các máy chủ cơ sở dữ liệu MySQL. Thông tin thêm về MySQL có thể được tìm thấy tại » http://www.mysql.com/ .
Tài liệu về MySQL có thể được tìm thấy tại » http://dev.mysql.com/doc/ .
Chỉnh sửa: để giúp OP (hãy xem các liên kết tôi đã cung cấp liên quan đến việc băm mật khẩu).
Thử thay thế
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
với:
while($row=mysql_fetch_assoc($result1))
{
$check_username=$row['username'];
$check_password=$row['password'];
}
if($username == $check_username && $password == $check_password){
echo "Matches.";
}
else{
echo "No match found.";
}