php-doc-en/reference/http/functions/headers-sent.xml
Gabor Hojtsy e318ba8dec This page incorrectly stated that headers_sent() will
return true if the headers were not sent, which is the
opposite of how this function behaves. Correcting this.

Also made the example work standalone, and reworded the
explanation of the new file and line parameters, so it
now says that the value is put into those variables and
not returned...


git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@106399 c90b9560-bf6c-de11-be94-00142212c4b1
2002-12-01 10:52:42 +00:00

98 lines
3.2 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.11 $ -->
<!-- splitted from ./en/functions/http.xml, last change in rev 1.7 -->
<refentry id="function.headers-sent">
<refnamediv>
<refname>headers_sent</refname>
<refpurpose>Checks if or where headers have been sent</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>boolean</type><methodname>headers_sent</methodname>
<methodparam choice="opt"><type>string</type><parameter>&amp;file</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>&amp;line</parameter></methodparam>
</methodsynopsis>
<simpara>
<function>headers_sent</function> will return &false; if no HTTP headers
have already been sent or &true; otherwise. If the optional
<parameter>file</parameter> and <parameter>line</parameter> parameters
are set, <function>headers_sent</function> will put the php source
file name and line number where output started in the <parameter>file</parameter>
and <parameter>line</parameter> variables.
</simpara>
<simpara>
You can't add any more header lines using the <function>header</function>
function once the header block has already been sent. Using this function
you can at least prevent getting HTTP header related error messages.
Another option is to use <link linkend="ref.outcontrol">Output Buffering</link>.
</simpara>
<note>
<title>New parameters</title>
<simpara>
The optional <parameter>file</parameter> and <parameter>line</parameter>
parameters where added in PHP 4.3.0.
</simpara>
</note>
<para>
<example>
<title>Examples using <function>headers_sent</function></title>
<programlisting role="php">
<![CDATA[
<?php
// If no headers are sent, send one
if (!headers_sent()) {
header ('Location: http://www.example.com/');
exit;
}
// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
header ('Location: http://www.example.com/');
exit;
// You would most likely trigger an error here.
} else {
print "Headers already sent in $filename on line $linenum\n" .
"Cannot redirect, for now please click this <a " .
"href=\"http://www.example.com\">link</a> instead\n";
exit;
}
?>
]]>
</programlisting>
</example>
</para>
<para>
See also <function>ob_start</function>, <function>trigger_error</function>,
and <function>header</function> for a more detailed discussion of the
matters involved.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->