freeCodeCamp/guide/arabic/php/pp-sessions/index.md

142 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: PHP Sessions
localeTitle: جلسات PHP
---
# جلسات PHP
الجلسة هي طريقة لتخزين المعلومات (في المتغيرات) ليتم استخدامها عبر صفحات متعددة.
على عكس ملف تعريف الارتباط ، لا يتم تخزين المعلومات على جهاز الكمبيوتر الخاص بالمستخدم.
## ما هي جلسة PHP؟
عند العمل مع أحد التطبيقات ، يمكنك فتحه ، وإجراء بعض التغييرات ، ثم إغلاقه. هذا يشبه إلى حد كبير الجلسة.
الكمبيوتر يعرف من أنت. يعرف متى تبدأ التطبيق وعند الانتهاء.
ولكن هناك مشكلة واحدة على الإنترنت: لا يعرف خادم الويب هويتك أو ما تفعله ، لأن عنوان HTTP ا يحتفظ بالحالة_ .
تعمل متغيرات جلسة العمل على حل هذه المشكلة من خلال تخزين معلومات المستخدم ليتم استخدامها عبر صفحات متعددة (مثل اسم المستخدم واللون المفضل ، وما إلى ذلك).
بشكل افتراضي ، تستمر متغيرات جلسة العمل حتى يقوم المستخدم بإغلاق المتصفح.
**تحتوي متغيرات جلسة العمل على معلومات حول مستخدم واحد ، وهي متوفرة لجميع الصفحات في تطبيق واحد.**
**ملاحظة:** إذا كنت بحاجة إلى تخزين دائم ، فقد ترغب في تخزين البيانات في قاعدة بيانات.
## بدء دورة PHP
تبدأ _الجلسة_ ببدء _الجلسة_ () \_ الوظيفة.
يتم تعيين متغيرات الجلسة مع المتغير العام PHP: $ \_SESSION.
**مثال:**
`<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["favcolor"] = "blue";
$_SESSION["favanimal"] = "dog";
echo "Session variables are set.";
?>
</body>
</html>
`
**ملاحظة:** يجب أن تكون الدالة session\_start () **أول شيء** في المستند. **قبل** أي علامات HTML.
انتاج:
يتم تعيين متغيرات الجلسة.
## احصل على قيم متغيرات جلسة PHP
لاحظ أنه لا يتم تمرير متغيرات الجلسة بشكل فردي إلى كل صفحة جديدة ، بل يتم استرجاعها من الجلسة التي نفتحها في بداية كل صفحة (session\_start ()).
لاحظ أيضًا أنه يتم تخزين جميع قيم متغير الجلسة في المتغير $ \_SESSION العالمي:
**مثال:**
`<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
`
انتاج:
اللون المفضل باللون الأزرق.
الحيوان المفضل هو الكلب.
هناك طريقة أخرى لإظهار كافة قيم متغير جلسة العمل لجلسة مستخدم هي تشغيل التعليمة البرمجية التالية:
`<?php
print_r($_SESSION);
?>
`
### كيف يعمل؟
تحدد معظم الجلسات مفتاح المستخدم على كمبيوتر المستخدم الذي يبدو كالتالي: 765487cf34ert8dede5a562e4f3a7e12.
وبعد ذلك ، عندما يتم فتح جلسة على صفحة أخرى ، فإنه يقوم بمسح جهاز الكمبيوتر للحصول على مفتاح المستخدم.
إذا كان هناك تطابق ، فإنه يصل إلى تلك الجلسة ، إذا لم يكن كذلك ، فسيبدأ جلسة جديدة.
## تعديل متغير الجلسة
لتغيير متغير جلسة ، ما عليك سوى الكتابة فوقه:
**مثال:**
`<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "pink";
print_r($_SESSION);
?>
</body>
</html>
`
## تدمير دورة PHP
لإزالة جميع متغيرات الجلسة العامة وتدمير الجلسة ، استخدم _جلسة العمل_ unset () \_ وتدمير _الجلسة_ () \_:
**مثال:**
`<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
</body>
</html>
`