⊗ppPmHpRHP 400 of 447 menu

Problema con las cabeceras de respuesta HTTP en PHP

Según las reglas de HTTP, primero se envían las cabeceras HTTP y luego el cuerpo de la respuesta HTTP. Debido a esto, trabajar con la función header en PHP tiene sus peculiaridades.

El problema es que si hay alguna salida a la pantalla antes de llamar a esta función, se interpretará como el inicio del cuerpo de la respuesta. En este caso, la llamada a la función header llevará a una advertencia de PHP con el texto headers already sent. Incluso puede que las cabeceras se envíen. Puede que ni siquiera se muestre el error (depende de la configuración de PHP). Pero la mayoría de las veces esto solo pasará en el entorno local, y al desplegar el sitio en internet todo se romperá.

Por salida a la pantalla se entiende cualquier texto. Por ejemplo, así:

text <?php header('Content-Type: text/html'); ?>

O una línea vacía:

<?php header('Content-Type: text/html'); ?>

O un espacio:

<?php header('Content-Type: text/html'); ?>

O una etiqueta:

<div> <?php header('Content-Type: text/html'); ?> </div>

O salida mediante echo:

<?php echo 'abc'; header('Content-Type: text/html'); ?>

O salida mediante var_dump:

<?php $str = 'abc'; var_dump($str); header('Content-Type: text/html'); ?>

Incluso las advertencias de PHP serán salidas a la pantalla. En el siguiente ejemplo se accede intencionadamente a una variable inexistente, lo que llevará a la salida de una advertencia:

<?php $text += 1; header('Content-Type: text/html'); ?>

La ruptura de las etiquetas de PHP también genera salida a la pantalla:

<?php echo 'abc'; ?> <?php header('Content-Type: text/html'); ?>

Cree intencionadamente una salida a la pantalla antes de la función header. Estudie el texto del error que se produce.

Corrija el error cometido en este código:

<!DOCTYPE html> <html> <head> <?php header('Content-Type: text/html'); ?> </head> <body> text <body> <html>
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar