ich habe das problem, dass beim login, dass eingegebene passwort nicht übergeben wird. aber von vorn
bei der registrierung wird das angegebene password als md5 in der DB gespeichert:
- Code: Alles auswählen
function register() {
if (!empty($this->data)) {
$this->data['User']['password'] = md5($this->data['User']['password']);
$this->User->create();
if ($this->User->save($this->data)) {
$this->Session->write('User', $this->User->findByUsername($this->data['User']['username']));
$this->Session->setFlash('Thank you for registering.');
#$this->redirect('/');
} else {
$this->Session->setFlash('The User could not be saved. Please, try again.');
}
}
}
die view, mein login formular
- Code: Alles auswählen
<div class="">
<h2>Login</h2>
<?php echo $form->create('User', array('action' => 'login'));?>
<?php echo $form->input('username');?>
<?php echo $form->input('password');?>
<?php echo $form->submit('Login');?>
<?php echo $form->end(); ?>
</div>
jetzt der problem-teil: LOGIN
die login-funktion im controller: es wird auf validateLogin() zugegriffen um zu schaun, ob user/passwort des login-formulars mit der DB übereinstimmen.
- Code: Alles auswählen
function login()
{
if(empty($this->data) == false)
{
if(($user = $this->User->validateLogin($this->data['User'])) == true)
{
$this->Session->write('User', $user);
$this->Session->setFlash('You\'ve successfully logged in.');
#$this->redirect('index');
#exit();
}
else
{
$this->Session->setFlash('Sorry, the information you\'ve entered is incorrect.');
#exit();
}
}
}
diese funktion ist im model:
- Code: Alles auswählen
PROBLEM: egal welches passwort ich eingebe im login-formular er übergibt in das SELECT immer den gleichen md5:
SELECT `User`.`id`, `User`.`username` FROM `users` AS `User` WHERE `username` = 'newuser' AND `password` = 'd41d8cd98f00b204e9800998ecf8427e' LIMIT 1
ob ich test, tröte, egal oder sonstwas eingebe, er nimmt immer diesen "md5 of nothing". wenn ich per var_dump ausgeben was in dem passwort feld für ein wert ist, kommt das ergebnis NULL. dementsprechend gibt die funktion validateLogin() ein false zurück und der login schlägt fehl.
was mache ich falsch?
ich bin echt am ende. versuche seit 2 ganzen tagen das rätsel zu lösen. ohne fremde hilfe krieg ich das nie raus. nie.
danke sehr
PS: habe mich übrigens an das tut gehalten: http://bakery.cakephp.org/articles/view ... x#comments