**مفهوم الجلسات في لغة PHP**
الجلسات في لغة PHP تعتبر من الأدوات الأساسية لإدارة وتخزين البيانات عبر صفحات الويب المتعددة أثناء تصفح المستخدم. تمنح الجلسات المطورين القدرة على تتبع وتخزين معلومات المستخدم بشكل مؤقت عبر زيارته للموقع، مثل معلومات تسجيل الدخول أو تفضيلات المستخدم. تعتبر الجلسات أكثر أمانًا مقارنة بالكوكيز حيث تُخزن المعلومات على الخادم بدلاً من جهاز المستخدم.
**كيفية عمل الجلسات في PHP**
عندما يبدأ المستخدم جلسة جديدة، يُنشئ الخادم معرف جلسة فريد (Session ID) ويُخزن على جهاز المستخدم في شكل كوكي. هذا المعرف يُستخدم لاستعادة بيانات الجلسة المخزنة على الخادم كلما قام المستخدم بطلب صفحة جديدة.
**بدء الجلسة**
لاستخدام الجلسات في PHP، يجب عليك أولاً بدء الجلسة باستخدام [شركة برمجة مصرية] الدالة `session_start()`. من المهم أن تُستدعى هذه الدالة قبل طباعة أي محتوى HTML على الصفحة.
<?php
session_start();
?>
**تخزين البيانات في الجلسة**
بمجرد بدء الجلسة، يمكنك تخزين البيانات في مصفوفة الجلسة `$_SESSION`.
<?php
session_start();
// تخزين بيانات في الجلسة
$_SESSION['username'] = 'Ahmed';
$_SESSION['email'] = 'ahmed@example.com';
?>
**استرجاع البيانات من الجلسة**
يمكنك استرجاع البيانات المخزنة في الجلسة بنفس الطريقة التي تُخزن بها.
<?php
session_start();
// استرجاع بيانات من الجلسة
echo 'Username: ' . $_SESSION['username'];
echo 'Email: ' . $_SESSION['email'];
?>
**إنهاء الجلسة**
عندما تنتهي حاجة التطبيق إلى الجلسة، يمكنك [شركة برمجة مصرية] إنهاؤها باستخدام `session_destroy()`، ولكن يجب أولاً التأكد من بدء الجلسة باستخدام `session_start()`.
<?php
session_start();
// إنهاء جميع بيانات الجلسة
session_unset();
// إنهاء الجلسة
session_destroy();
?>
**مثال تطبيقي: نظام تسجيل دخول بسيط باستخدام الجلسات**
سنقوم بإنشاء نظام تسجيل دخول بسيط حيث يمكن للمستخدم تسجيل الدخول والخروج باستخدام الجلسات.
**صفحة تسجيل الدخول (login.php):**
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
// التحقق من صحة بيانات المستخدم (هنا نستخدم مثال بسيط بدون قاعدة بيانات)
if ($username == 'admin' && $password == 'password') {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
header('Location: welcome.php');
exit;
} else {
echo 'اسم المستخدم أو كلمة المرور غير صحيحة.';
}
}
?>
<form method="post" action="">
اسم المستخدم: <input type="text" name="username"><br>
كلمة المرور: <input type="password" name="password"><br>
<input type="submit" value="تسجيل الدخول">
</form>
**صفحة الترحيب (welcome.php):**
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header('Location: login.php');
exit;
}
echo 'مرحباً ' . $_SESSION['username'];
?>
<a href="logout.php">تسجيل الخروج</a>
**صفحة تسجيل الخروج (logout.php):**
<?php
session_start();
session_unset();
session_destroy();
header('Location: login.php');
exit;
?>
**الخاتمة**
توفر الجلسات في PHP طريقة قوية وفعالة لتخزين بيانات المستخدمين بشكل مؤقت عبر زياراتهم المتعددة للموقع. من خلال فهم كيفية بدء الجلسات، تخزين البيانات فيها، واسترجاعها، يمكنك إنشاء تطبيقات ويب أكثر تفاعلية وأمانًا.
