-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathsession-start.xml
259 lines (241 loc) · 7.69 KB
/
session-start.xml
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 151e61773c016edcae8fd4989ad9a86ffd03c283 Maintainer: nilgun Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.session-start">
<refnamediv>
<refname>session_start</refname>
<refpurpose>Yeni bir oturum başlatır veya eskisini yeniden devreye sokar</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>session_start</methodname>
<methodparam choice="opt"><type>array</type><parameter>seçenekler</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
<function>session_start</function> bir oturumu ya oluşturur ya da GET, POST
veya bir çerez gibi bir istek üzerinden aktarılan oturum kimliğine
dayalı olarak eski bir oturumu geçerli oturum haline getirir.
</para>
<para>
<function>session_start</function> çağrıldığında veya bir oturum otomatik
başladığında, PHP kayıtlı oturum aç ve oku işleyicilerini çağırır. Bunlar,
öntanımlı veya PHP eklentileri (SQLite veya Memcached gibi) tarafından
sağlanan yerleşik kayıt altına alma işleyicileri veya
<function>session_set_save_handler</function> ile tanımlanan özel
işleyiciler olacaktır. Oku geriçağırımı, özel bir dizgeleştirilme biçiminde
saklanan mevcut oturumun verisini alıp döndüğünde PHP dahili olarak bu
veriyi nesneleştirerek $_SESSION dizisini doldurmakta kullanır.
</para>
<para>
İsimli oturumlar kullanmak için bu işlevden önce bir
<function>session_name</function> çağrısı yapılmalıdır.
</para>
<para>
<function>session_start</function> işlevi,
<link linkend="ini.session.use-trans-sid">session.use_trans_sid</link>
etkinken URL yeniden yazımı için dahili çıktı eylemcisini kayıt altına alır.
</para>
<para>
Eğer kullanıcı <function>ob_gzhandler</function> işlevini veya
<function>ob_start</function> ile benzerini kullanıyorsa çıktı eylemcilerin
sırası çıktının düzgün olmasında önem kazanır. Örneğin, kullanıcının
oturumu başlatmadan önce <function>ob_gzhandler</function> işlevini kayıt
altına alması gerekir.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>seçenekler</parameter></term>
<listitem>
<para>
Belirtilmişse, geçerli <link
linkend="session.configuration">oturum yapılandırma yönergeleri</link>ni
geçersiz kılacak seçenekleri içeren ilişkisel bir dizi olmalıdır.
Anahtarların <literal>session.</literal> önekini içermemesi gerekir.
</para>
<para>
Normal yapılandırma yönergelerine ek olarak bir
<literal>read_and_close</literal> seçeneği de belirtilebilir.
Bu anahtara değer olarak &true; atanırsa, okuma işleminin ardından
oturum hemen kapanır, böylelikle, oturum verileri değiştirilmeyecekse
gereksiz kilitlemeden kaçınılmış olur.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Oturum başarıyla başlatılabilmişse &true; aksi takdirde &false; döner.
</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>7.1.0</entry>
<entry>
<function>session_start</function> oturumu başlatmada başarısız
olursa artık &false; döndürüyor ve <varname>$_SESSION</varname>
dizisini artık ilkendirmiyor.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<refsect2>
<title>- Temel oturum örneği</title>
<para>
<example>
<title>- <filename>sayfa1.php</filename></title>
<programlisting role="php">
<![CDATA[
<?php
// sayfa1.php
session_start();
echo '1. sayfaya hoş geldiniz';
$_SESSION['renk'] = 'yeşil';
$_SESSION['hayvan'] = 'kedi';
$_SESSION['zaman'] = time();
// Oturum verisi kabul edilmişse çalışır
echo '<br /><a href="sayfa2.php">2. Sayfa</a>';
// Veya gerekirse oturum kimliği üzerinden de aktarılabilir
echo '<br /><a href="sayfa2.php?' . SID . '">2. Sayfa</a>';
?>
]]>
</programlisting>
</example>
</para>
<para>
<filename>sayfa1.php</filename> gösterildikten sonra, ikinci sayfa
<filename>sayfa2.php</filename> oturum verisini sihirli bir şekilde
içerecektir. <constant>SID</constant> sabiti dahil, <link
linkend="session.idpassing">oturum kimliklerinin aktarımı</link> hakkında
bilgi edinmek için <link linkend="book.session">oturum eklentisi</link>
okunabilir.
</para>
<para>
<example>
<title>- <filename>sayfa2.php</filename></title>
<programlisting role="php">
<![CDATA[
<?php
// sayfa2.php
session_start();
echo '2. sayfaya hoş geldiniz<br />';
echo $_SESSION['renk']; // yeşil
echo $_SESSION['hayvan']; // kedi
echo date('Y m d H:i:s', $_SESSION['zaman']);
// sayfa1.php'de yaptığımız gibi burada da SID kullanılabilir
echo '<br /><a href="sayfa1.php">1. Sayfa</a>';
?>
]]>
</programlisting>
</example>
</para>
</refsect2>
<refsect2>
<title><function>session_start</function> ve seçenekler</title>
<example>
<title>- Çerez ömrünü değiştirmek</title>
<programlisting role="php">
<![CDATA[
<?php
// Ömrü 1 gün olan kalıcı bir çerez gönder
session_start([
'cookie_lifetime' => 86400,
]);
?>
]]>
</programlisting>
</example>
<example>
<title>- Oturumu okuyup kapatmak</title>
<programlisting role="php">
<![CDATA[
<?php
// Oturumda hiçbir şeyi değiştirmenin gerekmeyeceği biliniyorsa
// oturum dosyasını kilitlemekten ve diğer sayfaları engellemekten
// kaçınmak için doğru yol oturumu okuyup hemen kapatmaktır.
session_start([
'cookie_lifetime' => 86400,
'read_and_close' => true,
]);
]]>
</programlisting>
</example>
</refsect2>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Çereze dayalı oturumlar kullanmak için tarayıcıya herhangi bir çıktılama
yapmadan önce mutlaka bir <function>session_start</function> çağrısı
yapılmalıdır.
</para>
</note>
<note>
<para>
<function>ob_gzhandler</function> işlevinin yerine <link
linkend="ini.zlib.output-compression">zlib.output_compression</link>
yönergesinin kullanımı önerilir.
</para>
</note>
<note>
<para>
Bu işlev yapılandırmaya bağlı olarak dışarıya çeşitli HTTP başlıkları
gönderir. Bu başlıkları özelleştirmek için
<function>session_cache_limiter</function> işlevine bakınız.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><varname>$_SESSION</varname></member>
<member><link linkend="ini.session.auto-start">session.auto_start</link>
yapılandırma yönergesi</member>
<member><function>session_id</function></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
-->