Ok 그래서 나는 PHP5와 mysqli를 사용하여 로그인 스크립트를 만들려고 노력하고 있는데, 나는 당신이 왜 그저 "오류를 반환하는 이유를 알려주는지 물어볼 것입니다 : 귀하의 사용자 이름과 비밀번호가 db "? 나는 그 계좌를 만들었을 때 분명히 그럴 수 있습니까? 아마 내가 놓친 것이 분명 할 것입니다. Heres는 코드 ...도움말 PHP 로그인이 제대로 작동하지 않습니까?
// 양식이
를 제출 한 경우 확인 (는 isset ($ _ POST [ '로그인'])) {//Check if username and password are empty
if ($_POST['username']!='' && $_POST['password']!='')
{
//Create query to check username and password to database
$validate_user = $mysqli->query('SELECT id, username, password, active FROM users WHERE ="'.$mysqli->real_escape_string(md5($_POST['username'])).' AND password = "'.$mysqli->real_escape_string(md5($_POST['password'])).'"');
//We check if the query returns true
if ($validate_user->num_rows == 1)
{
$row = $validate_user->fetch_assoc();
//Check if the user has activated there account
if ($row['activated'] == 1)
{
$_SESSION['id'] = $row['id'];
$_SESSION['logged_in'] = true;
Header('Location: ../main/index.php');
}
//Show this error if activation returns as 0
else {
$error = '<p class="error">Please activate your account.</p>';
}
}
//Show this error if the details matched any in the db
else {
$error = '<p class="error">Your username and password are not in our database!</p>';
}
}
//Show this error if the username and password field have not been entered
else {
$error = '<p class="error">Please enter your username and password.</p>';
}
}
어떤 형식으로 데이터베이스에 암호를 보관합니까? 사용자 이름과 암호 md5 해쉬 모두 유지 하시겠습니까? 그게 당신 스크립트가 기대하는 것이기 때문이죠. – jayarjo
아니요, 내가 당신을 잡을 수 없습니다. 하 바보, 고마워, 나는 DB에서 사용자 이름을 해시하지 않고 여기에서 시도하기 때문에 그럴 것 같아. –
흠 나는 사용자 이름 쿼리에서 "md5()"를 제거하여 문제를 해결 한 것 같지만 여전히 같은 오류가 발생했습니다 ... –