<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <chapter xml:id="features.cookies" xmlns="http://docbook.org/ns/docbook"> <title>Cookies</title> <para> PHP transparently supports <acronym>HTTP</acronym> cookies. Cookies are a mechanism for storing data in the remote browser and thus tracking or identifying return users. You can set cookies using the <function>setcookie</function> or <function>setrawcookie</function> function. Cookies are part of the <acronym>HTTP</acronym> header, so <function>setcookie</function> must be called before any output is sent to the browser. This is the same limitation that <function>header</function> has. You can use the <link linkend="ref.outcontrol">output buffering functions</link> to delay the script output until you have decided whether or not to set any cookies or send any headers. </para> <para> Any cookies sent to you from the client will automatically be included into a <varname>$_COOKIE</varname> auto-global array if <link linkend="ini.variables-order">variables_order</link> contains "C". If you wish to assign multiple values to a single cookie, just add <literal>[]</literal> to the cookie name. </para> <para> Depending on <link linkend="ini.register-globals">register_globals</link>, regular PHP variables can be created from cookies. However it's not recommended to rely on them as this feature is often turned off for the sake of security. <varname>$HTTP_COOKIE_VARS</varname> is also set in earlier versions of PHP when the <link linkend="ini.track-vars">track_vars</link> configuration variable is set. (This setting is always on since PHP 4.0.3.) </para> <para> For more details, including notes on browser bugs, see the <function>setcookie</function> and <function>setrawcookie</function> function. </para> </chapter> <!-- 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:"~/.phpdoc/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 -->