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

From: Date: Wed, 06 Nov 2002 16:19:44 +0000
Subject: cvs: phpdoc /en/reference/http/functions setcookie.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969349436@lists.php.net to get a copy of this message
avenger Wed Nov 6 11:19:44 2002 EDT Modified files: /phpdoc/en/reference/http/functions setcookie.xml Log: finished

Index: phpdoc/en/reference/http/functions/setcookie.xml diff -u phpdoc/en/reference/http/functions/setcookie.xml:1.5 phpdoc/en/reference/http/functions/setcookie.xml:1.6 --- phpdoc/en/reference/http/functions/setcookie.xml:1.5 Wed Oct 30 22:38:55 2002 +++ phpdoc/en/reference/http/functions/setcookie.xml Wed Nov 6 11:19:44 2002 @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> +<!-- $Revision: 1.6 $ --> <!-- splitted from ./en/functions/http.xml, last change in rev 1.2 --> <refentry id="function.setcookie"> <refnamediv> <refname>setcookie</refname> - <refpurpose>Send a cookie</refpurpose> + <refpurpose>·¢ËÍÒ»¸ö cookie ÐÅÏ¢</refpurpose> </refnamediv> <refsect1> - <title>Description</title> + <title>ÃèÊö</title> <methodsynopsis> <type>boolean</type><methodname>setcookie</methodname> <methodparam><type>string</type><parameter>name</parameter></methodparam> @@ -18,81 +18,65 @@ <methodparam choice="opt"><type>int</type><parameter>secure</parameter></methodparam> </methodsynopsis> <para> - <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. + <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 Æð¾Í¿ÉÒÔʹÓÃ. </para> <para> - Common Pitfalls: + ÐèҪעÒâµÄ¼¸µã: <itemizedlist> <listitem> <simpara> - 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. + Cookies ²»»áÔÚÄãÉèÖÃËüµÄ±¾Ò³ÉúЧ¡¢Òª²âÊÔÒ»¸ö cookie ÊÇ·ñ±»³É¹¦µÄÉ趨£¬Äã¿ÉÒÔÔÚÆäµ½ÆÚ֮ǰͨ¹ýÁíÍâÒ»¸öÒ³ÃæÀ´·ÃÎÊÆäÖµ¡£¹ýÆÚʱ¼äÊÇͨ¹ý²ÎÊý + <parameter>expire</parameter> À´ÉèÖõġ£ </simpara> </listitem> <listitem> <simpara> - Cookies must be deleted with the same parameters as they were set with. + Cookies ½«»á±»ÓëÆäͬÃûµÄºóÉ趨µÄ cookie Ëù¸²¸Ç¡£ </simpara> </listitem> <listitem> <simpara> - 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. + ÔÚʵ¼ÊÔËÓÃÖУ¬Äã¿ÉÒÔ°Ñ Cookies µÄÃû³ÆÉèÖóÉÒ»¸öÊý×飬µ«ÊÇÊý×é cookie ÖеÄÿ¸öÔªËØµÄÖµ½«»á±»µ¥¶À±£´æÔÚÓû§µÄϵͳÖС£Äã¿ÉÒÔÊÔ×ÅÓÃ<function>explode</function> + »ò <function>serialize</function> º¯ÊýÀ´°Ñ¶à¸ö cookie ֵдÈëµ½Ò»¸ö cookie ÎļþÖС£ </simpara> </listitem> </itemizedlist> </para> <simpara> - 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. + ÔÚ PHP 3 ÖУ¬ÔÚͬһ¸ö PHP ½Å±¾Öжà´ÎʹÓà <function>setcookie</function> + À´ÉèÖà cookie£¬½«»á°´ÕÕµ¹ÐòµÄ·½Ê½À´·Ö±ðÖ´ÐУ¬Èç¹ûÄãÏëÒªÔÚ²åÈëÁíÍâÒ»¸ö cookie + ǰɾ³ýÒ»¸ö cookie,Äã±ØÐëÏȲåÈëÈ»ºóÔÙɾ³ý¡£ÔÚ PHP 4 À¶à´Îµ÷Óà + <function>setcookie</function> ÔòÊǰ´ÕÕ˳ÐòÀ´Ö´Ðеġ£ </simpara> <para> - Some examples follow how to send cookies: + ÏÂÃæÒ»Ð©Àý×Ó˵Ã÷ÁËÈçºÎ·¢ËÍ cookies: <example> - <title><function>setcookie</function> send examples</title> + <title><function>setcookie</function> sent examples</title> <programlisting role="php"> <![CDATA[ setcookie ("TestCookie", $value); @@ -103,9 +87,7 @@ </example> </para> <para> - 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: + Ò»¸ö¹ýÆÚµÄ cookie ½«»á±»×Ô¶¯É¾³ý¡£Àý×Ó˵Ã÷ÁËÈçºÎɾ³ýÒ»¸ö cookies: <example> <title><function>setcookie</function> delete examples</title> <programlisting role="php"> @@ -118,11 +100,7 @@ </example> </para> <para> - 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: + ҪעÒâµÄÊÇ cookie µÄÖµÔÚ·¢Ë͵Äʱºò»á±»×Ô¶¯µÄ±àÂë²¢±£´æ£¬¶øµ±Äã¶ÁÈ¡ËüµÄʱºò£¬ËüÓֻᱻ×Ô¶¯µÄ½âÂë²¢×Ô¶¯°Ñ×Ô¼º¸³Öµ¸øÓë×Ô¼ºÍ¬ÃûµÄÒ»¸ö±äÁ¿¡£Äã¿ÉÒÔͨ¹ýÏÂÃæ¼òµ¥µÄÀý×ÓÀ´¿´µ½: <informalexample> <programlisting role="php"> <![CDATA[ @@ -133,11 +111,8 @@ </informalexample> </para> <para> - 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: + ÄãÒ²¿ÉÒÔÉèÖÃÒ»¸öÊý×éÀ´´æ·Å cookie£¬°ÑÐí¶àÃû³Æ²»Í¬µÄ cookie ·Åµ½Ò»¸öÊý×éÖдæ·Å¡£ÕâÑùÄãÔÚ½ÓÊÕ cookie + µÄʱºòÖ»ÐèÒªÒª»ñȡһ¸öÊý×é: <informalexample> <programlisting role="php"> <![CDATA[ @@ -154,19 +129,11 @@ </informalexample> </para> <para> - For more information on cookies, see Netscape's cookie - specification at <ulink - url="&spec.cookies;">&spec.cookies;</ulink>. + ¹ØÓÚ cookies ¸ü¶àµÄ½éÉÜ£¬¿ÉÒԲο¼Íø¾°¹«Ë¾µÄ cookies ˵Ã÷Êé + <ulink url="&spec.cookies;">&spec.cookies;</ulink>. </para> <simpara> - 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. + Netscape Communicator 4.05 ¼° Microsoft Internet Explorer 3.x ÔÚ cookie µÄ·¾¶ºÍʱ¼äûÓÐÉèÖõÄÇé¿öÏ»á³öÏÖһЩÎÊÌâ¡£ </simpara> </refsect1> </refentry>
« previous php.doc (#969349436) next »