Jak se vyvarovat – Cannot set HTTP code after HTTP headers have been sent? Session

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kokoumes
Člen | 39
+
0
-

Ahojte
pořád nemůžu přijít na to, proč mi to píše tuhle hlášku:
Cannot set HTTP code after HTTP headers have been sent (output started at …/SitePresenter.php:192).
Zdroj vypadá takhle:

<?php
protected function createComponentBigAvailibilityForm(){
   $namespace = Environment::getSession('availabilityForm');

   $httpRequest = new HttpRequest;
   $httpRequest->getPost('locStreet');

   $form = new AppForm;
   $form->setMethod('post');
   $form->addSelect('region', 'Region:', $this->getFromDbRegion())->getControlPrototype()->onchange("submit();");
         if (isset($namespace->region)) {
         	$form->setDefaults(array('region' => $namespace->region));
        }
    $form->addSelect('city', 'Město', $this->getFromDbCity())->getControlPrototype()->onchange("submit();");
     if (isset($namespace->city)) {
         	$form->setDefaults(array('city' => $namespace->city));
        }
    $form->addSelect('street', 'Ulice', $this->getFromDbStreet())->getControlPrototype()->onchange("submit();");
     if (isset($namespace->street)) {
         	$form->setDefaults(array('street' => $namespace->street));
        }
    $form->addSelect('cp', 'Čp', $this->getFromDbCp())->getControlPrototype()->onchange("submit();");
         if (isset($namespace->cpp)) {
         	$form->setDefaults(array('cp' => $namespace->cpp));
        }

    if ($namespace->region == "--" || empty($namespace->region)) {
     $form['city']->setDisabled(true);
    }
    if ($namespace->region == "--" || $namespace->city == "--" || empty($namespace->city) || empty($namespace->region)) {
     $form['street']->setDisabled(true);
    }
    if ($namespace->street == "--" || $namespace->city == "--" || empty($namespace->city) || empty($namespace->street)) {
     $form['cp']->setDisabled(true);
    }

    $form->onSubmit[] = callback($this, 'SubmittedBigAvailibilityForm');
    $this->template->form = $form;
    return $form;
  }
?>

zracování – zde mi to hází tu chybu

<?php
  public function SubmittedBigAvailibilityForm(AppForm $form){
        $values = $form->getValues();
        $namespace = Environment::getSession('availabilityForm');
       if ( $namespace->region != $values['region']) {
         $namespace->city="--";
         $namespace->street="--";
         $namespace->cpp="--";
        }
        if (!empty($values['region'])) {
         $namespace = Environment::getSession('availabilityForm');
         $namespace->region = $values['region'];
        }
        if (!empty($values['city'])) {
         $namespace = Environment::getSession('availabilityForm');
         $namespace->city = $values['city'];
        }
         $namespace = Environment::getSession('availabilityForm');
        if ($namespace->city != $values['city']) {
         $namespace->city="--";
         $namespace->cpp="--";
        }
        if (!empty($values['street'])) {
         $namespace = Environment::getSession('availabilityForm');
         $namespace->street = $values['street'];
        }
        if ($namespace->street != $values['street']) {
         unset($namespace->street);
        }

        if (!empty($values['cp'])) {
         $namespace->cpp = $values['cp'];
        }




    $this->redirect('default');
}
?>

Chyba se zobrazuje v různých řádcích zpracování formuláře.
Nějak nevim co dělám špatně :-(

kravčo
Člen | 721
+
0
-

Čo takto najprv hľadať hlášku v existujúcich príspevkoch?

kokoumes
Člen | 39
+
0
-

No kdybych našel odpověď tak sem nepíšu. Zkoušel jsem různý možnosti. Nikde nic nevypisuju a tak prostě nechápu proč mi to hází tu chybu :-(

kravčo
Člen | 721
+
0
-

Hľadanie „Cannot set HTTP code after HTTP headers have been sent“ nájde minimálne 2 vlákna, kde sa tento 100× omieľaný problém riešil…

Skontroluj či nemáš na začiatku súboru BOM a či nemáš za ukončovacím tagom whitespace.