الجلسات في PHP

تستخدم متغيرات الجلسة في PHP لتخزين معلومات الجلسة للمستخدم أو تغيير إعدادات الجلسة. يتم حفظ معلومات متغيرات الجلسة لفرد واحد فقط، ويجب أن تكون متاحة لجميع الصفحات في التطبيق.

متغيرات جلسة PHP

عند تشغيل تطبيق، تقوم بفتحه، وتقوم ببعض التغييرات، ثم تغلقونه. هذا يشبه جلسة واحدة. يعرف الكمبيوتر من أنت. يعرف متى بدأت التطبيق، و متى أتممت.

يحل PHP session مشكلة تخزين معلومات المستخدم للاستخدام لاحقاً (مثل اسم المستخدم، المنتجات المشتراة، إلخ). ومع ذلك، المعلومات الجلسة مؤقتة، وتتم إزالتها عند مغادرة المستخدم للوحة.

عملية عمل الجلسة هي: إنشاء id فريد (UID) لكل زائر، وتخزين المتغيرات بناءً على هذا UID. يتم تخزين UID في الكوكي أو عبر URL.

بدء جلسة PHP

قبل أن تضع معلومات المستخدم في جلسة PHP، يجب أولاً بدء الجلسة.

Note:يجب أن يكون دالة session_start() قبل علامة <html> التوضيح:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

الكود المذكور أعلاه سيسجل الجلسة للمستخدم على الخادم، مما يسمح لك ببدء حفظ معلومات المستخدم، ويقوم بتخصيص UID لجلسة المستخدم.

حفظ متغيرات الجلسة

صحيح طريقة حفظ وتسجيل إعادة استرداد متغيرات الجلسة هو استخدام متغير PHP $_SESSION:

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

Output:

Pageviews=1

In the following example, we create a simple page-view counter. The isset() function checks if the "views" variable has been set. If the "views" variable has been set, we increment the counter. If "views" does not exist, we create the "views" variable and set it to 1:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

Terminate Session

If you want to delete some session data, you can use the unset() or session_destroy() function.

The unset() function is used to release the specified session variable:

<?php
unset($_SESSION['views']);
?>

You can also completely terminate the session using the session_destroy() function:

<?php
session_destroy();
?>

Note:session_destroy() will reset the session, and you will lose all stored session data.