cvs: phpdoc /en/reference/http/functions setcookie.xml

From: Date: Thu, 07 Nov 2002 04:59:54 +0000
Subject: cvs: phpdoc /en/reference/http/functions setcookie.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969349462@lists.php.net to get a copy of this message
philip Wed Nov 6 23:59:54 2002 EDT Modified files: /phpdoc/en/reference/http/functions setcookie.xml Log: Reverting chinese.

Index: phpdoc/en/reference/http/functions/setcookie.xml diff -u phpdoc/en/reference/http/functions/setcookie.xml:1.11 phpdoc/en/reference/http/functions/setcookie.xml:1.12 --- phpdoc/en/reference/http/functions/setcookie.xml:1.11 Wed Nov 6 23:25:07 2002 +++ phpdoc/en/reference/http/functions/setcookie.xml Wed Nov 6 23:59:54 2002 @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.11 $ --> +<!-- $Revision: 1.12 $ --> <!-- splitted from ./en/functions/http.xml, last change in rev 1.2 --> <refentry id="function.setcookie"> <refnamediv> <refname>setcookie</refname> - <refpurpose>·¢ËÍÒ»¸ö cookie ÐÅÏ¢</refpurpose> + <refpurpose>Send a cookie</refpurpose> </refnamediv> <refsect1> - <title>ÃèÊö</title> + <title>Description</title> <methodsynopsis> <type>boolean</type><methodname>setcookie</methodname> <methodparam><type>string</type><parameter>name</parameter></methodparam> @@ -18,65 +18,81 @@ <methodparam choice="opt"><type>int</type><parameter>secure</parameter></methodparam> </methodsynopsis> <para> - <function>setcookie</function> º¯ÊýÓÃÀ´½¨Á¢Ò»¸öÐ嵀 cookie µÄÐÅÏ¢¡£ºÍÆäËüÍ·²¿ÐÅÏ¢Ò»Ñù£¬cookies - ±ØÐëÒªÊä³öÔÚÎļþµÄ<emphasis>×îÇ°Ãæ</emphasis>£¬Ò²¾ÍÒâζ×ÅÔÚÆä֮ǰ£¬Äã²»ÄÜÊä³öÈκÎ×Ö·û - (ÕâÊǹ涨)¡£°üÀ¨ - <literal>&lt;html></literal> ºÍ <literal>&lt;head></literal> - ±êÇ©ÒÔ¼°Ò»Ð©¿Õ¸ñ¡£Èç¹ûÕâЩ±êÇ©ÔÚʹÓà <function>setcookie</function> º¯ÊýǰÊä³ö£¬º¯ÊýÔËÐÐÔò»áʧ°Ü²¢·µ»Ø &false;¡£ - Ö»Òª <function>setcookie</function> º¯Êý³É¹¦ÔËÐУ¬²»¹Ü¸ÃÐÅÏ¢ÊÇ·ñ±»Óû§½ÓÊÜ£¬¶¼»á·µ»Ø &true;¡£ - </para> - <para> - ³ýÁË <parameter>name</parameter> ÒÔÍ⣬ÆäËüËùÓвÎÊý¶¼ÊÇ¿ÉÑ¡µÄ¡£Èç¹ûÖ»ÓÐ name - ²ÎÊý£¬Õ⽫»áɾ³ý¿Í»§¶ËÃû³ÆÎª name - µÄ cookie¡£µ±È»£¬ÎªÁËÌø¹ýijЩ²ÎÊýµÄÉ趨£¬Äã¿ÉÒÔΪһЩ²ÎÊý¸³¿Õ×Ö·û - (<emphasis>&quot;&quot;</emphasis>)¡£µ«²ÎÊý - <parameter>expire</parameter> ¼° - <parameter>secure</parameter> µÄÀàÐÍÓ¦¸ÃΪÕûÊý (integers) ²¢ÇÒ²»Äܱ»¸³Îª¿Õ×Ö·û¡£Äã¿ÉÒÔÓà 0 - À´´úÌæ(<emphasis>0</emphasis>)¡£²ÎÊý - <parameter>expire</parameter> ÊÇÒ»¸ö Unix µÄʱ¼ä´Á£¬¿ÉÒÔÓà - <function>time</function> »ò <function>mktime</function> - º¯ÊýÀ´»ñµÃ¡£<parameter>secure</parameter> ²ÎÊý±íÃ÷¸Ã cookie - Ö»ÔÚ°²È« HTTP Á¬½Óϲű»·¢ËÍ¡£ - </para> - <para> - µ± cookies ±»ÉèÖú󣬱ã¿ÉÒÔÔÚÆäËüÒ³ÃæÍ¨¹ý <link linkend="reserved.variables.cookies">$_COOKIE</link> - »ò <varname>$HTTP_COOKIE_VARS</varname> Êý×éÈ¡µÃÆäÖµ¡£ÐèҪעÒâµÄÊÇ£¬<link linkend="language.variables.superglobals">autoglobals</link> - µÄ <varname>$_COOKIE</varname> ÐÎʽÊÊÓÃÓÚ PHP - <ulink url="&url.php.release4.1.0;">4.1.0</ulink> »ò¸ü¸ß°æ±¾¡£¶ø - <varname>$HTTP_COOKIE_VARS</varname> Ôò´Ó PHP 3 Æð¾Í¿ÉÒÔʹÓÃ. + <function>setcookie</function> defines a cookie to be sent along + with the rest of the HTTP headers. Like other headers, cookies + must be sent <emphasis>before</emphasis> any output from your + script (this is a protocol restriction). This requires that you + place calls to this function prior to any output, including + <literal>&lt;html></literal> and <literal>&lt;head></literal> tags + as well as any whitespace. If output exists prior to calling this + function, <function>setcookie</function> will fail and return &false;. + If <function>setcookie</function> successfully runs, it will return + &true;. This does not indicate whether the user accepted the cookie. + </para> + <para> + All the arguments except the <parameter>name</parameter> argument + are optional. If only the name argument is present, the cookie + by that name will be deleted from the remote client. You may + also replace any argument with an empty string + (<emphasis>&quot;&quot;</emphasis>) in order to skip that + argument. The <parameter>expire</parameter> and + <parameter>secure</parameter> arguments are integers and cannot + be skipped with an empty string. Use a zero + (<emphasis>0</emphasis>) instead. The + <parameter>expire</parameter> argument is a regular Unix time + integer as returned by the <function>time</function> or + <function>mktime</function> functions. The + <parameter>secure</parameter> indicates that the cookie should + only be transmitted over a secure HTTPS connection. + </para> + <para> + Once the cookies have been set, they can be accessed on the next page load + with the <link linkend="reserved.variables.cookies">$_COOKIE</link> or + <varname>$HTTP_COOKIE_VARS</varname> arrays. Note, + <link linkend="language.variables.superglobals">autoglobals</link> + such as <varname>$_COOKIE</varname> became available in PHP + <ulink url="&url.php.release4.1.0;">4.1.0</ulink>. + <varname>$HTTP_COOKIE_VARS</varname> has existed since PHP 3. </para> <para> - ÐèҪעÒâµÄ¼¸µã: + Common Pitfalls: <itemizedlist> <listitem> <simpara> - Cookies ²»»áÔÚÄãÉèÖÃËüµÄ±¾Ò³ÉúЧ¡¢Òª²âÊÔÒ»¸ö cookie ÊÇ·ñ±»³É¹¦µÄÉ趨£¬Äã¿ÉÒÔÔÚÆäµ½ÆÚ֮ǰͨ¹ýÁíÍâÒ»¸öÒ³ÃæÀ´·ÃÎÊÆäÖµ¡£¹ýÆÚʱ¼äÊÇͨ¹ý²ÎÊý - <parameter>expire</parameter> À´ÉèÖõġ£ + Cookies will not become visible until the next loading of a page that + the cookie should be visible for. To test if a cookie was successfully + set, check for the cookie on a next loading page before the cookie + expires. Expire time is set via the <parameter>expire</parameter> + parameter. </simpara> </listitem> <listitem> <simpara> - Cookies ½«»á±»ÓëÆäͬÃûµÄºóÉ趨µÄ cookie Ëù¸²¸Ç¡£ + Cookies must be deleted with the same parameters as they were set with. </simpara> </listitem> <listitem> <simpara> - ÔÚʵ¼ÊÔËÓÃÖУ¬Äã¿ÉÒÔ°Ñ Cookies µÄÃû³ÆÉèÖóÉÒ»¸öÊý×飬µ«ÊÇÊý×é cookie ÖеÄÿ¸öÔªËØµÄÖµ½«»á±»µ¥¶À±£´æÔÚÓû§µÄϵͳÖС£Äã¿ÉÒÔÊÔ×ÅÓÃ<function>explode</function> - »ò <function>serialize</function> º¯ÊýÀ´°Ñ¶à¸ö cookie ֵдÈëµ½Ò»¸ö cookie ÎļþÖС£ + Cookies names can be set as array names and will be available to your + PHP scripts as arrays but seperate cookies are stored on the users + system. Consider <function>explode</function> or + <function>serialize</function> to set one cookie with multiple names + and values. </simpara> </listitem> </itemizedlist> </para> <simpara> - ÔÚ PHP 3 ÖУ¬ÔÚͬһ¸ö PHP ½Å±¾Öжà´ÎʹÓà <function>setcookie</function> - À´ÉèÖà cookie£¬½«»á°´ÕÕµ¹ÐòµÄ·½Ê½À´·Ö±ðÖ´ÐУ¬Èç¹ûÄãÏëÒªÔÚ²åÈëÁíÍâÒ»¸ö cookie - ǰɾ³ýÒ»¸ö cookie,Äã±ØÐëÏȲåÈëÈ»ºóÔÙɾ³ý¡£ÔÚ PHP 4 À¶à´Îµ÷Óà - <function>setcookie</function> ÔòÊǰ´ÕÕ˳ÐòÀ´Ö´Ðеġ£ + In PHP 3, multiple calls to <function>setcookie</function> in the same + script will be performed in reverse order. If you are trying to + delete one cookie before inserting another you should put the + insert before the delete. In PHP 4, multiple calls to + <function>setcookie</function> are performed in the order called. </simpara> <para> - ÏÂÃæÒ»Ð©Àý×Ó˵Ã÷ÁËÈçºÎ·¢ËÍ cookies: + Some examples follow how to send cookies: <example> - <title><function>setcookie</function> sent examples</title> + <title><function>setcookie</function> send examples</title> <programlisting role="php"> <![CDATA[ setcookie ("TestCookie", $value); @@ -87,7 +103,9 @@ </example> </para> <para> - Ò»¸ö¹ýÆÚµÄ cookie ½«»á±»×Ô¶¯É¾³ý¡£Àý×Ó˵Ã÷ÁËÈçºÎɾ³ýÒ»¸ö cookies: + When deleting a cookie you should assure that the expiration date + is in the past, to trigger the removal mechanism in your browser. + Examples follow how to delete cookies sent in previous example: <example> <title><function>setcookie</function> delete examples</title> <programlisting role="php"> @@ -100,7 +118,11 @@ </example> </para> <para> - ҪעÒâµÄÊÇ cookie µÄÖµÔÚ·¢Ë͵Äʱºò»á±»×Ô¶¯µÄ±àÂë²¢±£´æ£¬¶øµ±Äã¶ÁÈ¡ËüµÄʱºò£¬ËüÓֻᱻ×Ô¶¯µÄ½âÂë²¢×Ô¶¯°Ñ×Ô¼º¸³Öµ¸øÓë×Ô¼ºÍ¬ÃûµÄÒ»¸ö±äÁ¿¡£Äã¿ÉÒÔͨ¹ýÏÂÃæ¼òµ¥µÄÀý×ÓÀ´¿´µ½: + Note that the value portion of the cookie will automatically be + urlencoded when you send the cookie, and when it is received, it + is automatically decoded and assigned to a variable by the same + name as the cookie name. To see the contents of our test + cookie in a script, simply use one of the following examples: <informalexample> <programlisting role="php"> <![CDATA[ @@ -111,8 +133,11 @@ </informalexample> </para> <para> - ÄãÒ²¿ÉÒÔÉèÖÃÒ»¸öÊý×éÀ´´æ·Å cookie£¬°ÑÐí¶àÃû³Æ²»Í¬µÄ cookie ·Åµ½Ò»¸öÊý×éÖдæ·Å¡£ÕâÑùÄãÔÚ½ÓÊÕ cookie - µÄʱºòÖ»ÐèÒªÒª»ñȡһ¸öÊý×é: + You may also set array cookies by using array notation in the + cookie name. This has the effect of setting as many cookies as + you have array elements, but when the cookie is received by your + script, the values are all placed in an array with the cookie's + name: <informalexample> <programlisting role="php"> <![CDATA[ @@ -129,11 +154,19 @@ </informalexample> </para> <para> - ¹ØÓÚ cookies ¸ü¶àµÄ½éÉÜ£¬¿ÉÒԲο¼Íø¾°¹«Ë¾µÄ cookies ˵Ã÷Êé - <ulink url="&spec.cookies;">&spec.cookies;</ulink>. + For more information on cookies, see Netscape's cookie + specification at <ulink + url="&spec.cookies;">&spec.cookies;</ulink>. </para> <simpara> - Netscape Communicator 4.05 ¼° Microsoft Internet Explorer 3.x ÔÚ cookie µÄ·¾¶ºÍʱ¼äûÓÐÉèÖõÄÇé¿öÏ»á³öÏÖһЩÎÊÌâ¡£ + Microsoft Internet Explorer 4 with Service Pack 1 applied does + not correctly deal with cookies that have their path parameter + set. + </simpara> + <simpara> + Netscape Communicator 4.05 and Microsoft Internet Explorer 3.x + appear to handle cookies incorrectly when the path and time + are not set. </simpara> </refsect1> </refentry> @@ -157,4 +190,4 @@ vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> \ No newline at end of file +-->
« previous php.doc (#969349462) next »