-
Notifications
You must be signed in to change notification settings - Fork 80
Expand file tree
/
Copy pathsession-name.xml
More file actions
165 lines (153 loc) · 6.82 KB
/
session-name.xml
File metadata and controls
165 lines (153 loc) · 6.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: d7a77b5f850d5077f75d0c8c0d22cd60f099965d Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.session-name" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>session_name</refname>
<refpurpose>Получает и (или) устанавливает название текущей сессии</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>session_name</methodname>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>name</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Функция <function>session_name</function> возвращает название текущей
сессии. При передаче аргумента в параметр <parameter>name</parameter>
функция <function>session_name</function> обновит название и вернёт
<emphasis>старое</emphasis> название сессии.
</para>
<para>
Функция <function>session_name</function> изменяет название сессии в блоке данных cookie HTTP-протокола,
а при включённой директиве <link linkend="ini.session.use-trans-sid">session.use_trans_sid</link> —
в содержимом вывода, если для сессии указали новое имя <parameter>name</parameter>.
Функция <function>session_name</function> выдаёт ошибку уровня <constant>E_WARNING</constant>,
если функцию вызвали после отправки cookie HTTP-протокола. Функцию
<function>session_name</function> вызывают до вызова функции
<function>session_start</function>, чтобы сессия работала правильно.
</para>
<para>
При запуске запроса название сессии сбрасывается на значение по умолчанию,
которое хранится в директиве <literal>session.name</literal>. Поэтому
функцию <function>session_name</function> требуется вызывать для каждого запроса,
и до вызова функции <function>session_start</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>name</parameter></term>
<listitem>
<para>
Название сессии ссылается на название сессии, которое сохраняется в блоках данных
cookie и подставляется в URL-адреса содержимого страницы. Пример имени сессии: <literal>PHPSESSID</literal>.
Для имён сессий разрешается указывать только буквенно-цифровые символы; лучше предпочесть
короткие и понятные названия, которое, например, увидят пользователи с включённым предупреждением
о блоках данных cookie. Имя текущей сессии изменится на значение аргумента, если
в параметр <parameter>name</parameter> передали аргумент, значение которого не равно &null;.
</para>
<para>
<warning>
<para>
Название сессии нельзя составлять только из цифр, в имени требуется указать хотя бы
одну букву. При нарушении требования PHP каждый раз будет генерировать новый
идентификатор.
</para>
</warning>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает имя текущей сессии. С параметром <parameter>name</parameter> функция обновляет
название текущей сессии и возвращает <emphasis>старое</emphasis> название сессии&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Параметр <parameter>name</parameter> теперь принимает значение &null;.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Функция <function>session_name</function> проверяет статус сессии,
раньше функция проверяла только статус cookie. Поэтому
старую версию функции <function>session_name</function> разрешалось
вызывать после вызова функции <function>session_start</function>, что иногда
приводило к сбою PHP и неправильному поведению.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>session_name</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* Устанавливаем для имени сессии значение "WebsiteID" */
$previous_name = session_name("WebsiteID");
echo "Раньше сессия называлась '{$previous_name}'";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
Параметр конфигурации <link linkend="ini.session.name">session.name</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
-->