PHP와 mysqli를 사용하여 간단한 로그인 양식을 만들려고 시도했지만 작동하지 않습니다. 지금까지 데이터베이스에 성공적으로 데이터를 전송하는 등록 양식을 만들었으며 sha1을 사용하여 암호를 암호화했습니다. 아래에 첨부 된 코드를 사용하여 이전에 저장 한 사용자 이름과 암호에 액세스하려고 할 때 문제가 시작됩니다. 제출 한 Im은 다음과 같이 표시됩니다. 잘못된 사용자 이름 또는 암호. 누구든지 도와 드릴 수 있습니까? 그것은 나에게 3 일을 벌써 가져 갔다. 그리고 아직도 그것을 움직이게하는 방법을 계산할 수 없다.간단한 로그인 문제 - PHP
<?php
include_once ('includes/connection.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Form</title>
</head>
<body>
<?php
if(isset($_POST['submit_login'])) {
$username = $mysqli->real_escape_string($_POST['username']);
$password = sha1($_POST['password']);
$login_query = $mysqli->query("SELECT user_username, user_password FROM sd_users WHERE user_username = '$username' AND user_password = '$password'");
$count = $login_query->num_rows;
if ($count == 1) {
echo 'You are succesfully login!';
} else {
echo 'Wrong username or password';
}
}
?>
<div class="login-form">
<h3>LOGIN</h3>
<form action="index.php" method="post">
<p>Username:
<input type="text" name="username" value=""/>
</p>
<p>Psssword:
<input type="password" name="password" value=""/>
</p>
<input type="submit" name="submit_login" value="Login"/>
</form>
</div>
</body>
</html>
등록 또는 로그인 할 때 비밀번호 값이 올바르게 입력되는지 확인하십시오. 빈 값의 'sha1'은 여전히 sha1이됩니다. 실제 쿼리에 사용 된 값을 디버깅하고 db를보고, 일치하지 않는 이유를 확인하십시오. – helion3
'$ mysqli-> query (...) 또는 die (mysqli_error ($ mysqli)); ' –
원래 DB에 저장된 비밀번호도 SHA1 해쉬입니다. 맞습니까? – Quixrick