암호가 "admin"인 "admin"사용자가 포함 된 데이터베이스가 있습니다. db.php
에서 RedBeaNPHP를 연결했습니다. DB : id,user,password,authority
. 하지만 암호를 비교할 수는 없습니다. 무슨 일있어? 여기데이터베이스의 암호를 비교할 수 없습니다.
if(empty($errors))
{
$user = R::find('users', 'login = ?' , array($data['login']));
if($user)
{
$password_db = R::find('users', 'password = ?' ,
array($data['password']));
if($password_db)
{
echo 5555;
}
} else
{
echo 'Wrong password';
}
HTML 코드 :
<div id="login">
<h1>Auth</h1>
<form name='form-login' method="post">
<span class="fontawesome-user"></span>
<input type="text" name="user" placeholder="Username">
<span class="fontawesome-lock"></span>
<input type="password" name="password" placeholder="Password">
<input type="submit" value="Login" name="do_login">
</form>
'$ data [ 'password']'에'trim() 사용을 시도하십시오. 문자열에서 공백을 제거합니다. –
구체적으로 잘못 되었습니까? "잘못된 암호"메시지가 나타 납니까? 문제 해결을 수행 했습니까? 오류 메시지가 나타 납니까? '$ data','$ user','$ password_db'의 값은 무엇입니까? – showdev
또한 RedBeanPHP에 익숙하지 않지만 코드 논리를 따르지 않습니다. 특정 사용자 이름을 가진 사용자를 찾은 다음 별도의 쿼리를 수행하여 특정 암호를 가진 사용자를 찾지 만 특정 사용자 이름/암호 쌍을 찾지 않은 것처럼 보입니다. 사용자가 없으면 "암호가 틀립니다"라고 표시됩니다. 암호를 찾지 못하면 아무 일도 일어나지 않습니다. 사용자 이름/비밀번호 쌍을 인증하려고하십니까? – showdev