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
+
0
-

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???

Majkl578
Moderator | 1364
+
0
-

Podívej se do logu serveru (Apache / PHP-FPM), jestli tam není zaznamenaná nějaká událost. Může to způsobovat třeba pád PHP (segmentation fault apod.).