Presmerovanie na Homepage z SignPresenter ak je uživatel prihlásený

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
procomputer
Člen | 5
+
0
-

Ahoj, pls ak zadam v app manuálne URL http://localhost:3000/sign/in zobrazi sa mi login formulár aj keď je uživateľ prihlásený.

`

<?php
public function actionIn()
{
	if ($this->getUser()->isLoggedIn()) {
        $this->redirect('Homepage:');
   	}
}
?>

`
Myslel som si, že to ošetrím testom v actionIn() ale skončí to chybou „Possible problem: you are sending a HTTP header while already having some data in output buffer. Try Tracy\OutputDebugger or start session earlier.“

pls poradíte niekto „uplnému začiatočníkovy“… Vopred dik.

Editoval procomputer (29. 3. 2017 18:56)

David Matějka
Moderator | 6445
+
+1
-

ahoj, nekde se ti vypisuje nejaky znak do stranky, nez dojde k presmerovani
casto to byva

  • nejaky debug dump
  • UTF8 BOM znak
  • whitespace za ukoncovaci zavorkou ?>

BOM muzes najit a smazat treba pres tento tool

whitespace za ?> vyresis tak, ze ji nebudes psat (neni povinna)

pokud nic nenajdes, zkus – jak ti ta chyba radi – pouzit OutputDebugger. Konkretne tak, ze do bootstrapu (treba hned za require autoload) das Tracy\OutputDebugger::enable() a ono ti to rekne, kde se vypisuje prvni vystup do stranky

procomputer
Člen | 5
+
0
-

Ahoj, ďakujem za rýchlu a správnu radu, mal som tam ešte jeden debug výpis aby som vobec zistil poradie volania samotných metod v triede (ako som písal uplný začiatočník). DIK

CZechBoY
Člen | 3608
+
+1
-

životní cyklus je v dokumentaci https://doc.nette.org/…n/presenters#…
Jinak doporučuju používat Tracy\Debugger::barDump místo klasickýho echo, víš potom odkud dumpuješ a neomezuješ tim přesměrování (taky můžeš dumpovat a víš co si dumpnul před přesměrováním).

Editoval CZechBoY (30. 3. 2017 15:43)