Warning Illegal offset type in isset or empty pri prihlasovaní
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- SontoEremo
- Člen | 341
Zdravím ľudia,
Prosím Vás pomôžte mi už s touto chybou Warning Illegal offset
type in isset or empty
Já sa už zbláznim všetko som vrátil k pôvodnému stavu ale stále
akonáhle sa prihlásim vyhodí to vyššie spomenutú chybu a tracy ukazuje
File: …/web/vendor/nette/http/src/Http/SessionSection.php:117
/**
* Determines whether a variable in this session section is set.
* @param string name
* @return bool
*/
public function __isset($name)
{
if ($this->session->exists()) {
$this->start();
}
return isset($this->data[$name]);
}
A to som iba pridal do BasePresenteru v DashboardModul-e toto
Ale aj keď to odtial vymažem stále chyba pretrváva
use Nette\Security\IUserStorage;
protected function startup() {
parent::startup();
if (!$this->user->isLoggedIn()) {
if ($this->user->logoutReason() === IUserStorage::INACTIVITY) {
$this->flashMessage('Boli ste automatický odhlásený - nečinný 30 min.', 'infos');
}
$this->redirect(':Sign:in', array('backlink' => $this->storeRequest()));
}
}
Môj SignPresenter
/**
* LoginForm factory.
* @return Form
*/
protected function createComponentLoginForm() {
$loginForm = new Form;
$loginForm->addProtection();
$loginForm->addText('username')
->setAttribute('placeholder', 'Užívateľské meno')
->setAttribute('class', 'form-control input-bg');
$loginForm->addPassword('password')
->setAttribute('placeholder', 'Heslo')
->setAttribute('class', 'form-control input-bg');
$loginForm->addSubmit('signIn', 'Prihlásiť sa');
$loginForm->onSuccess[] = $this->loginFormSuccessSubmited;
return $loginForm;
}
/**
* @param Form $loginForm
*/
public function loginFormSuccessSubmited(Form $loginForm) {
$values = $loginForm->getValues();
try {
$this->presenter->getUser()->setExpiration('30 minutes', TRUE, TRUE);
$this->presenter->getUser()->login($values->username, $values->password);
$this->presenter->restoreRequest($this->backlink);
$this->presenter->redirect('Dashboard:Dashboard:default');
} catch (AuthenticationException $e) {
$loginForm->addError('Neplatné úžívateľské meno alebo Heslo');
} catch (\App\errors\ActivatedException $e) {
$loginForm->addError('Váš účet ešte nebol aktivovaný. Skontrolujte si Váš email a tiež aj zložku SPAM.');
}
}
Áno Cache som premazal vlastne ani som nemusel keďže idem cez deployment
Editoval SontoEremo (13. 7. 2014 18:08)
- SontoEremo
- Člen | 341
Vyriešené!!!
Do SignPresenter.php som zabudol na začiatok pridať $backlink
class SignPresenter extends CommandPresenter {
/** @persistent */
public $backlink = '';
A už všetko šlape :)
Editoval SontoEremo (13. 7. 2014 19:57)