NForm v existující aplikaci vyhazuje vyjímku

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

Zdravím, mám jeden starší projekt ve kterém jsem jen chtěl použín NForm (celá aplikace je bez namespace tak to nechi měnit). Ale když vytvořím jednoduchý form:

$form = new NForm();
$form->addText('xxx');
echo $form;

Vyhazuje to vyjímku:

InvalidStateException
Unable to set 'session.gc_maxlifetime' to value '10800' when session has been started by session.auto_start or session_start()

Jak říkám je to uprostřed již fungující aplikace, takže tam asi někde předtím je session.auto_start() ale to by snad neměl být problém ne? Koukal jsem jak to funguje a netusil jsem ze když chci jen použít formulář tak nette vytváří konfigurátor apod. Jde mi jen o použití jednoho formuláře. Nevíte jak to použít? Díky
http://postimg.org/…e/p8g6ypa7p/

Majkl578
Moderator | 1364
+
0
-

Píšeš, že formulář máš uprostřed fungující aplikace. Byl by problém, kdyby tvoje aplikace nevolala session_start dříve než vytvoříš formulář? Stejně mi ale není moc jasné, proč se ti volá session start, když nevyužíváš protection u formuláře. Můžeš někam nahrát obsah vygenerovaného SystemContaineru – už je, díky tomuto
… a uvést verzi Nette?

Závislost na konfigurátoru apod. se řeší, můžeš zkusit použít danou úpravu.

dnd
Člen | 16
+
0
-

Ahoj, mám podobný problém. Ve starém projektu jsem používal z nette několik jeho vychytaných funkcí, převážně NForms, NMail, NImage. Právě u NImage jsem narazil nedávno na omezení starou verzí (version 2.0-dev released on 2011–08–24), nemá všechny funkce popisované v příručce. Stáhl jsem tedy nejnovější (version 2.0.10 released on 2013–03–08, PHP 5.2 prefixed). Čekal jsem, že budu muset upravit některé změněné názvy metod, ale narazil jsem na něčem úplně jiném. Narazilo mi to na první položce formuláře

18:    $userForm = new NForm('deliveryForm');
19:    $userForm->addHidden('customerId', 0);

Laděnka křičí s označením ř.19:
InvalidStateException
Unable to set ‚session.use_only_cookies‘ to value ‚1‘ when session has been started by session.auto_start or session_start().

Session si opravdu startuji sám a o nette session nemám zatím zájem. Jde toto nějak vypnout, upravit, obejít? Nebo kterou verzi zpět musím použít, aby se toto neprojevilo?

Děkuji předem za každou radu.

Edit: Pomůže mému problému, když upravím nette skripty dle popisu v odkazu výše? cdad82e

Editoval dnd (10. 4. 2013 14:13)