2011-06-21 12 views
10

Duplicar posible:
Headers already sent by PHPCómo reparar "No se pueden enviar encabezados; los encabezados ya se enviaron" en Zend?

Soy nuevo en zend.I trató de crear la forma sencilla que tiene dos campos usando Zend. Cuando hago clic en el botón Enviar obtuvo el siguiente error,

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 

he comprobado el siguiente enlace, zend header already send problem

me quita espacios en blanco y di etiqueta de cierre en todos los archivos, pero todavía estoy recibiendo el mismo error.

Cómo solucionar este error?

Shows Following 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); 
      } 
     } 

    } 
} 
?> 

Bondadosamente

+0

¿Qué hay en EmployeeController.php, línea 35? –

+1

Eliminar espacios en blanco después de las etiquetas de cierre php ('?>') En todos los archivos .. – NAVEED

+0

@NAVEED Sí eliminado funciona. Gracias pero antes quité el espacio en blanco sobre el punto de partida de la etiqueta php – mymotherland

Respuesta

23

Puede ser debido a los espacios en blanco adicionales después de la etiqueta de cierre php (?>) en algún archivo de Ayuda.

También leer este post:

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

  • Cualquier salida HTML, incluyendo la declaración DOCTYPE o cualquier etiqueta HTML, incluyendo la cabecera de la página
  • espacios en blanco extra antes de la apertura Etiqueta PHP de la página, o fuera de Etiquetas PHP de un archivo de inclusión
  • Uso de print() o echo antes de ca cabecera de llenado() o session_start()
  • Usando virtuales() para incluir archivos
  • Uso de la marca de orden de bytes (BOM) al principio de una página

Por ejemplo:

enter image description here

Cuestiones relacionadas