Nevykreslený formulář na určitých zařízeních
- admin@easyweb4u.cz
- Backer | 146
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
Bylo by pro začátek určitě dobré zjistit z logů, co způsobilo ten error 500.
- admin@easyweb4u.cz
- Backer | 146
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
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
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
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
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
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?