56 lines
3.0 KiB
Markdown
56 lines
3.0 KiB
Markdown
|
---
|
||
|
title: Sessions
|
||
|
localeTitle: جلسات
|
||
|
---
|
||
|
## جلسات
|
||
|
|
||
|
الجلسات هي ميزة في PHP تسمح لك بتخزين جانب خادم البيانات حول المستخدم. عند إعداد جلسة عمل ، يتم تعيين ملف تعريف ارتباط للمتصفح يحدد المستخدم إلى PHP بحيث يعرف PHP أي من متغيرات جانب الخادم يمكن الوصول إليها.
|
||
|
|
||
|
### بدء الجلسة
|
||
|
|
||
|
في كل صفحة تريد الوصول إلى الجلسة ، ستحتاج إلى بدء (أو تحميل) الجلسة. للقيام بذلك ، قم بتشغيل الدالة `session_start()` التي تقوم بتحميل نظام جلسة PHP.
|
||
|
|
||
|
`<?php
|
||
|
session_start();
|
||
|
`
|
||
|
|
||
|
تجدر الإشارة إلى أنه عند استخدام الجلسات المستندة إلى ملفات تعريف الارتباط ، يجب استدعاء session\_start () قبل إخراج أي شيء إلى المتصفح. أي شيء آخر سيؤدي إلى خطأ.
|
||
|
|
||
|
### الوصول إلى وإعداد البيانات في الدورة
|
||
|
|
||
|
المتغير `$_SESSION['key']` هو نوع خاص من الصفيف (باستخدام ملف تعريف ارتباط المتصفح لتحديد الجلسة التي يمكن الوصول إليها).
|
||
|
|
||
|
في المثال التالي ، ترى أن اختيار المستخدم للموضوع قد تم تعيينه على المظهر رقم واحد.
|
||
|
|
||
|
`<?php
|
||
|
session_start();
|
||
|
$_SESSION['themechoice'] = 1;
|
||
|
`
|
||
|
|
||
|
يشبه الوصول إلى متغير جلسة إلى إعداد واحد. ما عليك سوى تضمين المتغير الذي تحتاج إلى الوصول إليه. على سبيل المثال صدى بها كما هو موضح في المثال رمز أدناه.
|
||
|
|
||
|
`<?php
|
||
|
session_start();
|
||
|
echo $_SESSION['themechoice'];
|
||
|
`
|
||
|
|
||
|
### إزالة الجلسة
|
||
|
|
||
|
لإزالة جلسة من النظام ، قم بتشغيل شفرة PHP التالية. سيؤدي ذلك إلى إلغاء تعيين متغيرات الجلسة وحذفها من النظام.
|
||
|
|
||
|
`<?php
|
||
|
session_unset();
|
||
|
session_destroy();
|
||
|
`
|
||
|
|
||
|
### الجلسات مؤقتة
|
||
|
|
||
|
من المهم عدم التعامل مع الجلسة كمخزن دائم. يتم تطهيرها من وقت لآخر من قبل المطور ، كلما تم نقل التطبيق إلى خادم مضيف جديد ، من خلال التطبيق نفسه (على سبيل المثال زر تسجيل الخروج) ، وحتى أثناء صيانة الخادم. لتخزين البيانات على المدى الطويل ، تأكد من استخدام قاعدة البيانات.
|
||
|
|
||
|
### الأمان
|
||
|
|
||
|
أخيرًا وليس آخرًا ، من المهم استخدام جلسات php بشكل آمن. اطلع على مقالتنا حول [معرفة معرّف](/php/security/session-identifier-acquirement) [الجلسة واختطاف الجلسات](/php/security/session-hijacking) لمزيد من المعلومات.
|
||
|
|
||
|
#### معلومات اكثر:
|
||
|
|
||
|
* [دليل جلسة php.net](https://secure.php.net/manual/en/book.session.php)
|