الدالة ()session_name في PHP

من موسوعة حسوب

(PHP 4, PHP 5, PHP 7)

تعيد الدالة session_name()‎ أو تضبط اسم الجلسة الحالية.

الوصف

string session_name ([ string $name ] )

تعيد هذه  الدالة اسم الجلسة الحالية، وإذا أُعطيت قيمة للمعامل name سوف تُحدث الدالة اسم الجلسة بهذه القيمة وتعيد اسم الجلسة القديم.

عند استعمال اسم جديد للجلسة، فإن دالة session_name()‎ تُعدل ملف تعريف الارتباط الخاص ببروتوكول ‎(http cookie) HTTP‎، لذلك يجب استعمال الدالة session_name()‎ قبل الدالة session_start()‎ لكي تعمل بطريقة صحيحة بدون أخطاء.

المعاملات

name

هذا المعامل مسؤول عن اسم الجلسة المستعمل في ملفات تعريف الارتباط والروابط (URLs). ويجب أن يتكوّن من  أرقام وحروف فقط، ويُستحسن أن تكون قصيرة وواصفة (مِثل المُستخدمين السامحين لإنذارات ملفات الارتباط).

تحذير: يجب أن يحتوي اسم الجلسة على أرقام فقط، حيث إذا استخدمت أرقام فقط سيتم تعيين معرف جديد للجلسة.

القيم المعادة

تعيد الدالة ()session_nameاسم الجلسة الحالي، وفي حالة تعيين اسم جديد للجلسة فإنها تُعيد الاسم القديم للجلسة.

أمثلة

المثال 1: استخدام الدالة session_name()

<?php

/* WebsiteID ضبط اسم الجلسة إلى القيمة*/
$previous_name = session_name("WebsiteID");
echo "The previous session name was $previous_name<br />";
?>

سجل التغييرات

الإصدار الوصف
7.2.0 في هذا الإصدار تقوم الدالة بالتأكد مِن حالة الجلسة، بينما سابقًا كانت تتأكد الدالة مِن حالة ملف تعريف الارتباط. لذلك الإصدار القديم من الدالة كان يسمح باستدعائها بعد دالة session_start()‎ والذي قد يسبب انهيار PHP وينشأ عنه أخطاء.

مصادر