2011-06-21 12 views
10

Powiel możliwe:
Headers already sent by PHPJak naprawić błąd "Nie można wysyłać nagłówków, nagłówki już wysłane" w Zend?

Jestem nowy zend.I próbował stworzyć prostą formę posiadającą dwa pola z wykorzystaniem Zend. Kiedy klikam przycisk submit uzyskałem następujący błąd,

Fatal error: Uncaught exception 'Zend_Controller_Response_Exception' with message 'Cannot send headers; headers already sent in D:\xampp\htdocs\study\quickstart\application\controllers\EmployeeController.php, line 35' in D:\xampp\php\PEAR\Zend\Controller\Response\Abstract.php:282 Stack trace: #0 D:\xampp\php\PEAR\Zend\Controller\Response\Abstract.php(300): Zend_Controller_Response_Abstract->canSendHeaders(true) #1 D:\xampp\php\PEAR\Zend\Controller\Response\Abstract.php(727): Zend_Controller_Response_Abstract->sendHeaders() #2 D:\xampp\php\PEAR\Zend\Controller\Front.php(984): Zend_Controller_Response_Abstract->sendResponse() #3 D:\xampp\php\PEAR\Zend\Application\Bootstrap\Bootstrap.php(77): Zend_Controller_Front->dispatch() #4 D:\xampp\php\PEAR\Zend\Application.php(358): Zend_Application_Bootstrap_Bootstrap->run() #5 D:\xampp\htdocs\study\quickstart\public\index.php(25): Zend_Application->run() #6 {main} thrown in D:\xampp\php\PEAR\Zend\Controller\Response\Abstract.php on line 282 

Sprawdziłem na poniższy link, zend header already send problem

usunąłem spacji i dał bliską tag we wszystkich plikach, ale wciąż otrzymuję ten sam błąd.

Jak naprawić ten błąd?

Poniżej przedstawiono EmployeeController.php:

<?php 
class EmployeeController extends Zend_Controller_Action 
{ 
    public function init() 
    { 

    } 
    public function indexAction() 
    { 

     $form = new Default_Form_Empdetails(); 
     $this->view->form = $form; 
     $request = $this->getRequest(); 
      $formData = $request->getPost(); 
     if ($request->isPost()) { 
      if ($form->isValid($request->getPost())) { 
       $empName = $form->getValue('empName'); 
       $empAddress = $form->getValue('empAddress'); 
       $emp = new Default_Model_DBTable_Employee(); 
       $emp->addAlbum($empName, $empAddress); 
       $this->_helper->redirector('index'); 
      } else { 
       $form->populate($formData); 
      } 
     } 

    } 
} 
?> 

Łaskawie mi

+0

Co to jest EmployeeController.php, wiersz 35? –

+1

Usuń białe spacje po tagach zamykających php ('?>') We wszystkich plikach. – NAVEED

+0

@NAVEED Tak, usunięto to działa. Dzięki Ale zanim usunięte spacje powyżej punktu początkowego php tagu – mymotherland

Odpowiedz

23

Może to być z powodu dodatkowych spacji po znaczniku zamykającym php (?>) w jakimś pliku pomocy.

przeczytać także ten post:

PHP development: why redirects don't work (headers already sent)

  • dowolnego wyjścia HTML, łącznie z deklaracją DOCTYPE lub tagu HTML, tym głowy stronie
  • Ekstra spacje przed otwarciem Tag PHP strony lub poza tagami PHP pliku włączającego
  • Używanie print() lub echa przed ca Nagłówek stalowanie() lub session_start()
  • Korzystanie wirtualnych(), aby dołączyć pliki
  • używania znaku kolejności bajtów (BOM) na początku strony

Na przykład:

enter image description here

Powiązane problemy