Přihlášení do „administrace“
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- milde
- Člen | 52
Zdravím, rád bych Vás požádal o radu, co dělám špatne ( teprve s Nette začínám a jsem totální lama ). Nastíním můj problém – zkouším si vytvořit přehlášení do „admin rozhraní“ podle CD-collection. Zde je ukázka mého kódu:
<?php
use Nette\Application\UI\Form as AppForm,
Nette\Security as NS;
class AdminPresenter extends BasePresenter
{
public function renderDefault(){}
function createComponentForm($name){
$form = new AppForm($this, $name);
$form->addText('user', 'Uživatelské jméno');
$form->addText('passwd', 'Heslo');
$form->addSubmit('login', 'Přihlásit');
$form->onSuccess[] = callback($this, 'loggedIn');
}
public function LoggedIn($form){
try{
$values = $form->getValues();
$this->user->login($values->username, $values->password);
$this->application->restoreRequest($this->backlink);
$this->redirect('Dashboard:');
} catch(NS\AuthenticationException $e){
$form->addError($e->getMessage());
}
}
}
?>
S tím, že se mi hlásí: Undefined property: Nette\ArrayHash::$username. Rád bych požádal o radu co dělám špatně. Za Vaší pomoc děkuji
- milde
- Člen | 52
studna napsal(a):
Chceš něco, co nedefinuješ. Ve formuláři si uprav názvy inputů:
user → username
passwd → password
A nebo přepiš $values->username na $values->user (to samé i s passwd).
Děkuji za radu – jsem prostě lama, která se nevzdává – jdu se prokousávat tímto mocným frameworkem dál …