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。当然,为了跳过某些参数的设定,你可以为一些参数赋空字符
+     (<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>

-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to