Lenguaje PHP

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.

Headers already sent

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

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

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

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.

Referencia:

Fix Error

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 *

Botón volver arriba