Headers already sent: ¿Como Corregir este error?

Headers already sent: ¿Como Corregir este error?. Cuando desarrollamos con el lenguaje de programación PHP tarde o temprano nos encontraremos con estos errores y es así que en este artículo daremos solución a estos molestos mensajes de error. La salida intencional de las sentencias print y echo terminará la oportunidad de enviar encabezados HTTP. El flujo de la aplicación debe ser reestructurado para evitarlo correctamente.

Al ejecutar un script PHP nos muestra este error, y si recibe varios errores como este, Aquí tenemos la solución:

Warning: Cannot modify header information - headers already sent by 
(output started at /home/mainsite.php:12) in /home/mainsite.php on line 123

Las funciones que producen la salida incluyen

  • print, echo, printf, vprintf
  • trigger_error, ob_flush, ob_end_flush, var_dump, print_r
  • readfile, passthru, flush, imagepng, imagejpeg
  Sistema de chat en vivo con Ajax, PHP y MySQL

Headers already sent: ¿Como Corregir este error?

Áreas HTML sin procesar

Las secciones HTML analizadas en un archivo (. php) también son de salida directa. Las condiciones de secuencia de comandos que activarán una llamada de header(), se deben anotar antes de cualquier bloqueen bruto.

Las respuestas HTTP siempre envían primero las cabeceras y después el propio contenido de la página. Si en tus scripts utilizas print o echo, PHP comienza a enviar la información al usuario y para ello obtiene todas las cabeceras HTTP establecidas hasta ese momento por el script.
Las principales causas de este error

1. Código HTML antes del código PHP

<!DOCTYPE html>
<?php
    // Aquí ya no puedes modificar las cabeceras

2. Espacios en blanco normales antes del PHP

    <?php
// ERROR: ¡hay 1 espacio en blanco por delante de la etiqueta de apertura!

Otros ejemplos de Error

  <?php  //Espacios en blanco antes del inicio del PHP
  header("Content-Type: text/html; charset=UTF-8");
?>
<html><!--Etiquetas HTML  -->
<body>
  <?php
     header("Content-Type: text/html; charset=UTF-8");
  ?>
</body>
</html>

3. Espacios en blanco invisibles

  8 Errores comunes al programar en PHP: Ejemplo y solución

Uno de los errores típicos más difíciles de descubrir se produce por el denominado BOM de UTF-8. Básicamente, si al guardas tus scripts de PHP los codificas en formato UTF-8, es posible que tu editor añada una secuencia de caracteres invisibles llamada Byte-Order-Mark (la secuencia en hexadecimal es EF BB BF).

  Star Rating System con Ajax, PHP y MySQL

4. Espacios en blanco después de la etiqueta de cierre

5. Errores producidos con anterioridad

Con esto daremos solución a estos molestos errores, si tienen duda no duden en comentar.

Headers already sent
Headers already sent

Referencia:

Fix Error

 

Datatables Dropdown PDO, ServerSide, Responsiva

ServerSide
Responsiva adaptable
Opciones de exportación Dropdown
Mensajes usando SweetAlert2
Acciones (Editar, Agregar, Ver, Eliminar)

Si quieres conocer otros artículos parecidos a Headers already sent: ¿Como Corregir este error? puedes visitar la categoría ¿Qué es PHP y cómo funciona?.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web protege su privacidad al adherirse al Reglamento General de Protección de Datos de la Unión Europea (GDPR). No utilizaremos sus datos para ningún propósito que no haya dado su consentimiento. Obtenga más información en nuestra página política de privacidad