Problém s User identity a $form->addProtection()

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

Ahoj,
mám problém při výpisu formuláře, Tracy píše Cannot send session cache limiter - headers already sent a červeně zobrazuje řádek cache Latte:
<?php echo Nette\Bridges\FormsLatte\Runtime::renderFormEnd($_form) ?>

BOM nemám (na to si dávám pozor, navíc vše píšu v NetBeans).
Projel jsem složku app tímto kvůli BOM.
Koncovou značku ?> nepoužívám (provedl jsem kontrolu složky app, jestli koncovou značku nemám).

Ale co je podstatné: vše zmíněné platí jen v případě, když neexistuje User identity. Pokud existuje, vše funguje jak má.

Pokud nevypisuju formulář, vše je ok.

Díky, Pavel

Editoval thirdknown (22. 1. 2016 9:45)

thirdknown
Člen | 26
+
0
-

Už jsem zjistil něco bližšího:
Jelikož se jedná o přihlašovací formulář, používám $form->addProtection();.

Takže souhrn:
Problém je vždy bez User identity se zaplým addProtection().

David Matějka
Moderator | 6445
+
0
-

Jedna se problem s session smart start. To funguje tak, ze se nastartuje
a. az kdyz je potreba (tedy napriklad pri zobrazovani formulare s protection)
b. nebo pokud jiz existuje (coz v pripade prihlaseneho uzivatele existuje)

Pokud mas addProtection vsude, tak zapni autostart na true, viz https://doc.nette.org/cs/configuring#…

Pokud ne a nechces startovat vsude, budes ji muset nastartovat rucne v tech presenterech, kde pouzivas addProtection

ryder
Člen | 17
+
0
-

@DavidMatějka pro ruční nastartování v presenteru postačí $this->getSession(); ?

David Matějka
Moderator | 6445
+
+1
-

nn, musis $this->getSession()->start()