إستخدام الجلسات Sessions لغة PHP - ProgrammerTech
Language:

Search

إستخدام الجلسات Sessions لغة PHP

  • Share this:
إستخدام الجلسات Sessions لغة PHP

الجلسات session في لغة PHP

الجلسة ( session ), درسنا اليوم هو مُفيد لمن يدرسون لغة php و هو عن session, سوف نقوم بشرح كيفية إنشاء متغير من نوع session و يتم إستخدام هذا النوع من المتغيرات لحفظ البيانات ضمن ذاكرة التخزين المؤقتة في المُتصفح. و هذا يعني عندما يتم إنشاء مُتغير من نوع session و بما أن البيانات يتم حفظها في ذاكرة التخزين المؤقتة في المُتصفح. يُمكنك لآحقاً بإستخدام تلك البيانات في أي صفحة أخرى ترغب بها حتى و إذا كانت ليست الصفحة التي قُمت بإنشاء هذا المتغير ضمنها. و بما أن البيانات يتم حفظها في ذاكرة التخزين المؤقتة في المتصفح فهذا يعني عندما يقوم المُستخدم بإغلاق المتصفح سوف يتم حذف تلك البيانات تلقائياً و هذه النقطه مُهمة.

قبل أن نقوم بشرح لكم كيف يتم إنشاء مُتغير من نوع session سوف نقوم بشرح بعض الوظائف التي سوف نستخدمها.

الوظائف التي تستخدم مع الجلسات

  1. session_start.
  2. session_unset.
  3. session_destroy.

 

الوظيفة session_start

تعني ( session_start ) بدء الجلسة يعني بعد أن يتم إنشاء متغير من نوع session أو التعديل على قيمة هذا المُتغير للوصول إلى البيانات المخزنة سابقاً ضمن إحدى المتغيرات من نوع session...الخ.

 

الوظيفة session_unset

إن ( session_unset ) تعني عند تنفيذ هذه الوظيفة سوف يتم حذف المتغيرات من نوع session و يمكن تحديد بنفسك متى تُريد أن يتم تنفيذ الأمر الآتي, نقطه مهمة قبل تنفيذ هذا الأمر يجب عليك أن تكون بادئ الجلسة مُسبقاً لكي تتمكن من إستخدام هذا الأمر.

 

الوظيفة session_destroy

تعني ( session_destroy ) تدمير الجلسة و يتم إستخدامها لإنهاء الجلسة التي تم بدئها.

 

الفرق بين session_unset و session_destroy

الفرق بإختصار هو عند إستخدام session_unset سوف تُخبِر المُتصفح بأن يحذف جميع المتغيرات من نوع session. و بعد أن يتم تنفيذ هذا الأمر يُمكن إنشاء متغيرات أخرى من نوع session يعني لم تقم بعد بإنهاء الجلسة. و عند إستخدام session_destroy سوف يقوم بتدمير الجلسة و إنهائها يعني إذا نريد بدء جلسة جديدة يجب إستدعاء أمر البدء session_start. و بعدها نستخدم امر التدمير فقد تمت إنهاء الجلسة السابقة, فقط هذا هو الفرق بينهم.

الصيغة العامة له

session_start();
$_SESSION["name"] = "Ahmed kaissar";

في البداية قُمنا ببدء الجلسة عن طريق session_start و قُمنا بعدها بإنشاء متغير من نوع session و يُكتَب بالشكل. نضع في البداية إشارة $ و يليها إشارة _ و نكتب كلمة SESSION بالأحرف الكبيرة لا يجب وضعها أحرف صغيرة. و ثم فتحنا قوسين مربعة و كتبنا ضمنها إسم المتغير ثم أسندنا له القيمة بعد إشارة اليساوي.

مثال 1

<?php
session_start();
$_SESSION["email"] = "javascript23685@gmail.com";
?>
<h1><?php echo $_SESSION["email"] ?></h1>

لقد قمنا ببدء الجلسة في البداية عن طريق أمر البدء session_start ثم قمنا بإنشاء متغير من نوع session و إسمه email و قمنا بتخزين به بريد إلكتروني. و قمنا بعرض البيانات عن طريق وسم h1 لطبع ما هو موجود في المتغير عن طريق دالة echo للطبع. و كتبنا بعدها إسم المتغير مع تعريفه. و عندما قمنا بفتح هذا الكود في المتصفح ستكون نتيجته هي.

javascript23685@gmail.com

 

التعديل على القيمة التي يملكها session

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

<?php
session_start();
$_SESSION["email"] = "javascript23685@gmail.com";
$_SESSION["email"] = "programmertech@gmail.com";
?>
<h1><?php echo $_SESSION["email"] ?></h1>

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

programmertech@gmail.com

 

حذف جميع المتغيرات من نوع session

<?php
session_start();
$_SESSION["email"] = "javascript23685@gmail.com";
$_SESSION["email"] = "programmertech@gmail.com";
session_unset();
?>
<h1><?php echo $_SESSION["email"] ?></h1>

لقد قُمنا بحذف جميع المتغيرات من نوع session بعد أمر التعديل على قيمة المتغير الأول. و إستخدمنا لحذف هذه المتغيرات الأمر session_unset فهذا يعني تم حذف جميع المتغيرات. و عند تنفيذ هذا الكود سيظهر خطأ.

الجلسات sessions في لغة php

 

نلاحظ ظهر خطأ, و عند إستخدام session_destroy فقط سيقوم بإنهاء الجلسة فهذا يعني لن يتم حذف المتغيرات التي تتواجد ضمن ذاكرة التخزين المؤقتة. توجد بعض النقاط من أجل الحماية و ببعض الأحيان لا نُريد عرض الخطأ نرغب في البداية بأن يتحقق php إذا كان يتواجد المتغير الذي نريد إستخدامه أو لا. إن كان يتواجد نرغب بتنفيذ اوامر و إن كان لا يتواجد نرغب بعرض بيانات غير.

<?php
session_start();
$_SESSION["email"] = "javascript23685@gmail.com";
$_SESSION["email"] = "programmertech@gmail.com";
session_unset();
?>
<h2>
    <?php
    if(!empty($_SESSION["email"])){
        echo $_SESSION["email"];
    }else{
        echo "المتغير غير موجود";
    }
    ?>
</h2>
<h1><?php echo $_SESSION["email"] ?></h1>

لقد قُمنا بإنهاء الجلسات و بعده قُمنا بإستخدام الشروط مع الوظيفة empty و وظيفتها الكشف عن المتغير يتواجد أم لا. وضعنا شرط if إذا كان المُتغير موجود قُم بطباعة الإيميل أي قيمة المُتغير و إن كان غير موجود قم بطباعة المتغير غير موجود. و عند تشغيل الكود سنحصل على النتيجة.

استخدام الجلسات sessions في لغة php

 

إلى هُنا لقد تعلَّمنا كيفية إنشاء مُتغير من نوع session و كيفية التعديل عليه و ايضاً كيفية إستخدامه في بدء الجلسة و إنهائها و حذف المتغيرات.


Tags:
Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com