Při updatu přijde ERR_EMPTY_RESPONSE
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- slawe
- Člen | 11
Zdravím,
už několik hodin nad tím nadávám a pořád ne a ne najít chybu. Dělám
úpravu jedno pole pro větší text, a když odešlu krátká data, např
kratičkou větičku, update se provede bez problému. Ale když tam pošlu
třeba odstavec textu, tak se mi vrátí:
Stránku nelze načíst, protože server neodeslal žádná data.
Načtěte tuto webovou stránku znovu
Klikněte na tlačítko Načíst znovu. Tím znovu odešlete údaje potřebné
k načtení stránky.
Kód chyby: ERR_EMPTY_RESPONSE
Dělá mi to jen v jednom místě, zbytek je vše ok. Toto mi prozatím běží na localhostu (xampp), nepomohl restart ani pročištění cache…
Zdrojové kody:
Model
public function updateAllik($data) {
dibi::query("UPDATE [unidata] SET [text] = '".$data."' WHERE [nazev] = 'emergency_all'");
}
Presenter
public function actionEdit($id){
try{
$this->info=$this->getModel()->getInfo();
$this->hlavni=$this->getModel()->getText();
if(!$this->hlavni || !$this->info){
$this->flashMessage('Nelze upravit neexistující záznam, který by měl ale existovat - pište správci','red');
$this->redirect('Emergency:');
}
} catch(DibiDriverException $e){
$this->flashMessage($e->getMessage(),'red');
$this->redirect('Emergency:');
}
}
protected function createComponentEditForm() {
$info = $this->info["text"];
$hlavni = $this->hlavni["text"];
$form = new Nette\Application\UI\Form;
$form->addProtection("Vypršel časový limit pro formulář", 600);
$form->addText("popis","Krátký popis události, max 100 znaků");
$form->addTextArea("hlavni","Informace o události")->setAttribute("class", "ckeditor");
$form->setDefaults(array(
"popis" => $info,
"hlavni" => $hlavni));
$form->addSubmit("edit","Upravit");
$form->onSuccess[]=callback($this,'editFormSubmitted');
return $form;
}
public function editFormSubmitted($form) {
try{
$values=$form->getValues();
$popis = $values["popis"];
$hlavni = $values["hlavni"];
unset($values);
$this->getModel()->updateInfo($popis);
$this->getModel()->updateAllik($hlavni);
$this->Log("edit","EMERGENCY INFORMATIONS EDITED");
$this->flashMessage("Úprava záznamu proběhla úspěšně.","green");
$this->redirect("Emergency:");
}catch(DibiDriverException $e){
$form->addError($e->getMessage(),"red");
}
}
Zajímavé je, že po updateInfo() to projde, ale updateAllik() se už
kazí.
Někdo nápad???