Nevykreslený formulář na určitých zařízeních

admin@easyweb4u.cz
Backer | 146
+
0
-

Mám takovýto formulář

<?php
	protected function createComponentBookingForm() {

			$form = new Form;

			$form->addProtection();

			$form->addText('name', 'Jméno:');

			$form->addText('surname', 'Příjmení:');

			$form->addText('title', 'Titul:');

			$profesion = [
					'student DH' => 'student DH',
					'dentální hygienistka' => 'dentální hygienistka',
					'zubní lékař' => 'zubní lékař',
					'jiné' => 'jiné'
			];

			$form->addSelect('profesion', 'Profese:', $profesion)
					->setPrompt('Vyberte profesi');

			$form->addText('email', 'E-mail:');

			$form->addText('phone', 'Telefon:');

			$form->setDefaults([
					'email' => '@'
			]);

			$form->addSubmit('send', 'Odeslat')
							->setAttribute('class', 'sendbooking');

           	$form->getElementPrototype()->class('ajax');

			$form->onSuccess[] = [$this, 'bookingFormSucceeded'];

			return $form;
	}
?>

metoda bookingFormSucceeded($form, $values) odesílá email

Nasadil jsem to na ostrý web a chová se to prapodivně, totiž stránka hlásí Error 500, ale jenom někdy a někde a formulář se nevykreslí. Stránka skončí před formulářem. Když se formulář vykreslí např. v Chromu na jednom počítači, nevykreslí se na jiném. V Chromu na kterém se formulář vykreslí se pak nevykreslí v anonymním okně. Když jsem do bootsrap.php vložil
$configurator->setDebugMode(‚XX.XXX.XX.XX‘); v anonymním okně se pak formulář vykreslil. Už jsem z toho jelen. Takových formulářů jsem dělal desítky a normálně to fungovalo.

jiri.pudil
Nette Blogger | 1032
+
0
-

Bylo by pro začátek určitě dobré zjistit z logů, co způsobilo ten error 500.

admin@easyweb4u.cz
Backer | 146
+
0
-

jiri.pudil napsal(a):

Bylo by pro začátek určitě dobré zjistit z logů, co způsobilo ten error 500.

Je tam tohle:

[2020–01–06 13–34–36] PHP Warning: fopen(/web/htdocs1/skachuvdencz/home/www/app/../temp/cache/Nette.RobotLoader/b70390bac2e2df3d2f028b6307777684.php.lock): failed to open stream: No such file or directory in /web/htdocs1/skachuvdencz/home/www/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php:388 @ http://skachuvden.cz/…sovani/1/138

<?php

5: $configurator = new Nette\Configurator;
6:
7: //$configurator->setDebugMode(‚23.75.345.200‘); // enable for your remote IP
8: $configurator->enableTracy(__DIR__ . ‚/../log‘);
9:
10: $configurator->setTimeZone(‚Europe/Prague‘);
11: $configurator->setTempDirectory(__DIR__ . ‚/../temp‘);
12:
13: $configurator->createRobotLoader()
14: ->addDirectory(__DIR__)
15: ->register();
16:
17: $configurator->addConfig(__DIR__ . ‚/config/config.neon‘);
18: $configurator->addConfig(__DIR__ . ‚/config/config.local.neon‘);

problém na řádku 15

Ráno jsem clonoval web z bitbucketu

admin@easyweb4u.cz
Backer | 146
+
0
-

admin@easyweb4u.cz napsal(a):

jiri.pudil napsal(a):

Bylo by pro začátek určitě dobré zjistit z logů, co způsobilo ten error 500.

Je tam tohle:

[2020–01–06 13–34–36] PHP Warning: fopen(/web/htdocs1/skachuvdencz/home/www/app/../temp/cache/Nette.RobotLoader/b70390bac2e2df3d2f028b6307777684.php.lock): failed to open stream: No such file or directory in /web/htdocs1/skachuvdencz/home/www/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php:388 @ http://skachuvden.cz/…sovani/1/138

<?php

5: $configurator = new Nette\Configurator;
6:
7: //$configurator->setDebugMode(‚23.75.345.200‘); // enable for your remote IP
8: $configurator->enableTracy(__DIR__ . ‚/../log‘);
9:
10: $configurator->setTimeZone(‚Europe/Prague‘);
11: $configurator->setTempDirectory(__DIR__ . ‚/../temp‘);
12:
13: $configurator->createRobotLoader()
14: ->addDirectory(__DIR__)
15: ->register();
16:
17: $configurator->addConfig(__DIR__ . ‚/config/config.neon‘);
18: $configurator->addConfig(__DIR__ . ‚/config/config.local.neon‘);

problém na řádku 15

Ráno jsem clonoval web z bitbucketu

Ten web normálně běží, když ten formulář vyhodím ze šablony, stránka se normálně načte…

admin@easyweb4u.cz
Backer | 146
+
0
-

admin@easyweb4u.cz napsal(a):

admin@easyweb4u.cz napsal(a):

jiri.pudil napsal(a):

Bylo by pro začátek určitě dobré zjistit z logů, co způsobilo ten error 500.

Je tam tohle:

[2020–01–06 13–34–36] PHP Warning: fopen(/web/htdocs1/skachuvdencz/home/www/app/../temp/cache/Nette.RobotLoader/b70390bac2e2df3d2f028b6307777684.php.lock): failed to open stream: No such file or directory in /web/htdocs1/skachuvdencz/home/www/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php:388 @ http://skachuvden.cz/…sovani/1/138

<?php

5: $configurator = new Nette\Configurator;
6:
7: //$configurator->setDebugMode(‚23.75.345.200‘); // enable for your remote IP
8: $configurator->enableTracy(__DIR__ . ‚/../log‘);
9:
10: $configurator->setTimeZone(‚Europe/Prague‘);
11: $configurator->setTempDirectory(__DIR__ . ‚/../temp‘);
12:
13: $configurator->createRobotLoader()
14: ->addDirectory(__DIR__)
15: ->register();
16:
17: $configurator->addConfig(__DIR__ . ‚/config/config.neon‘);
18: $configurator->addConfig(__DIR__ . ‚/config/config.local.neon‘);

problém na řádku 15

Ráno jsem clonoval web z bitbucketu

Ten web normálně běží, když ten formulář vyhodím ze šablony, stránka se normálně načte… Já jsem do toho webu jenom přidával ten formulář.

Marek Bartoš
Nette Blogger | 1274
+
0
-

Z toho vyplívá, že problém vůbec není ve formulářích, ale ve filesystému. Nedaří se otevřít lock file. Jelikož Nette používá @ k umlčení errorů při práci s filesystémem, tak hádám, že ho máš vypnutý https://www.php.net/…rcontrol.php

Editoval Mabar (6. 1. 2020 16:50)

admin@easyweb4u.cz
Backer | 146
+
0
-

Mabar napsal(a):

Z toho vyplívá, že problém vůbec není ve formulářích, ale ve filesystému. Nedaří se otevřít lock file. Jelikož Nette používá @ k umlčení errorů při práci s filesystémem, tak hádám, že ho máš vypnutý https://www.php.net/…rcontrol.php

Řek bych, že byl problém v přenosu dat přes bitbucket a souborama v cashi. Problém nastal po přenosu dat na local 2. compu, odkud jsem pak posílal upravené soubory na FTP. Sice jsem mazal cash na ostrém webu asi 20×, ale nějak se to nechtělo srovnat. Teď jsem přišel na 1. comp a smazal cash na ostrém a je (doufám) po problému. Vysvětlení to je mizerné, už mi z toho šla hlava kolem.

admin@easyweb4u.cz
Backer | 146
+
0
-

admin@easyweb4u.cz napsal(a):

Mabar napsal(a):

Z toho vyplívá, že problém vůbec není ve formulářích, ale ve filesystému. Nedaří se otevřít lock file. Jelikož Nette používá @ k umlčení errorů při práci s filesystémem, tak hádám, že ho máš vypnutý https://www.php.net/…rcontrol.php

Řek bych, že byl problém v přenosu dat přes bitbucket a souborama v cashi. Problém nastal po přenosu dat na local 2. compu, odkud jsem pak posílal upravené soubory na FTP. Sice jsem mazal cash na ostrém webu asi 20×, ale nějak se to nechtělo srovnat. Teď jsem přišel na 1. comp a smazal cash na ostrém a je (doufám) po problému. Vysvětlení to je mizerné, už mi z toho šla hlava kolem.

To co píšeš výše jsem neupravoval. Apropos, jak by se to nastavilo v Nette?