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.).