1
0
mirror of https://github.com/php/doc-zh.git synced 2026-04-28 18:53:12 +02:00
Files
2024-10-09 12:13:36 +08:00

121 lines
3.7 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f5c124befdf7c2791877694a86ead123b179d935 Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<refentry xml:id="function.session-id" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>session_id</refname>
<refpurpose>获取/设置当前会话 ID</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>session_id</methodname>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>id</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>session_id</function> 可以用来获取/设置
当前会话 ID。
</para>
<para>
为了能够将会话 ID 很方便的附加到 URL 之后,
你可以使用常量 <constant>SID</constant>
获取以字符串格式表达的会话名称和 ID。
请参考 <link linkend="ref.session">会话处理</link>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>id</parameter></term>
<listitem>
<para>
如果指定了 <parameter>id</parameter> 且不为 &null;
则使用指定值作为会话 ID。
必须在调用 <function>session_start</function> 函数之前调用
<function>session_id</function> 函数。
不同的会话处理程序对于会话 ID 中可以使用的字符有不同的限制。
例如文件会话处理程序仅允许会话 ID 中使用以下字符:<literal>[a-zA-Z0-9,-]</literal>
</para>
<note>
<simpara>
如果使用 cookie 方式传送会话 ID,并且指定了 <parameter>id</parameter> 参数,
在调用 <function>session_start</function>
之后都会向客户端发送新的 cookie,
无论当前的会话 ID 和新指定的会话 ID 是否相同。
</simpara>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>session_id</function> 返回当前会话ID。
如果当前没有会话,则返回空字符串(<literal>""</literal>)。失败时返回 &false;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>id</parameter> 现在可以为 null。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>session_regenerate_id</function></member>
<member><function>session_start</function></member>
<member><function>session_set_save_handler</function></member>
<member>
<link linkend="ini.session.save-handler">session.save_handler</link>
</member>
</simplelist>
</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:"~/.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
-->