我正在尝试建立一个新的登录/注册系统。我的用户现在可以注册,但我们无法在尝试登录时获取信息
if(Input::exists()){
if (Token::check(Input::get('token'))){
$validate = new Validate();
$validation = $validate->check($_POST, array(
'username' => array('required' => true),
'password' => array('required' => true)
));
if($validation->passed()){
// log user in
$user = new User();
$login = $user->login(Input::get('username'), md5('password'));
if($login){
echo "succes";
} else {
echo '<p>Sorry, logging in failed</p>';
}
}else{
foreach($validation->errors() as $error){
echo $error, "<br>";
}
}
}
}
这个代码为什么他们不能登录?我认为它与md5('密码')有关。 因为我总是得到错误:抱歉,登录失败。 这是Passed()
public function passed() {
return $this->_passed;
}
这是登录()
的public function login($username = null, $password = null){
$user = $this->find($username);
if($user){
if($this->data()->password === Hash::make($password, $this->data()->salt)){
echo 'OK!';
}
}
return false;
}
private function data(){
return $this->_data;
}
我以前习惯使用盐但是生成一个人花了很长时间ii也不知道为什么那样的我也会很快就这个话题但是现在我想用MD5来制作我的其他功能。
答案 0 :(得分:0)
看起来好像在使用Laravel?或类似的东西。
请改为尝试:
$login = $user->login(Input::get('username'), 'password');
或者你想要:
$login = $user->login(Input::get('username'), Input::get('password'));
login()函数似乎已经在使用Hash :: make
进行哈希转换