الفرق بين المراجعتين لصفحة: «PHP/session register»

من موسوعة حسوب
< PHP
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة session_register()‎ في PHP }}</noinclude>'
 
لا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة session_register()‎ في PHP
<noinclude>{{DISPLAYTITLE:الدالة <code>session_register()</code>‎ في PHP}}</noinclude>
}}</noinclude>
(PHP 4, PHP 5.4.0)
 
تُسجل الدالة <code>session_register()</code>‎ مُتغيرًا عامًا واحدًا أو أكثر مع الجلسة الحالية.
 
== الوصف ==
<syntaxhighlight lang="php">
bool session_register ( mixed $name [, mixed $... ] )
</syntaxhighlight>تقبل الدالة <code>session_register()‎</code> عددًا مُتغيرًا من المُعاملات التي يُمكن أن تكون سلسلة نصية تحتوي على اسم المتغير أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى. تسجل الدالة <code>session_register()‎</code> لكلّ اسم معامل مُتغيرًا عامًا بنفس الاسم في الجلسة الحالية.
 
 يُمكنك عمل متغير عام جديد عن طريق إعداد عدد منُاسب مِن مصفوفة المُتغير ‎<code>$_SESSION</code>.<syntaxhighlight lang="php">
<?php
 
// لا يُفضل إستعمال هذه الدالة
$barney = "A big purple dinosaur.";
session_register("barney");
 
// $_SESSION يُفضل إستعمال المُتغير
$_SESSION["zim"] = "An invader from another planet.";
?>
 
</syntaxhighlight>في حال عدم استدعاء الدالة <code>[[PHP/session start|session_start()]]</code>‎ قبل استدعاء الدالة<code>session_register()</code> ‎، فإن استدعاء الدالة <code>[[PHP/session start|session_start()‎]]</code> سيكون ضمنيًا بدون أية معاملات. المتغيّر ‎<code>$_SESSION</code> لا يقلد هذا السلوك ويتطلب استدعاء الدالة <code>[[PHP/session start|session_start()]]</code>‎ بداية.
 
تنبيه: أهملت الدالة في الإصدار 5.3.0 وحذفت في الإصدار 5.4.0
 
== المعاملات ==
 
=== <code>name</code> ===
سلسلة نصية تحتوي على اسم المتغير المراد إنشاؤه أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى.
 
== القيم المعادة ==
تعيد الدالة <code>session_register()</code>‎ القيمة <code>TRUE</code> في حالة نجاحها، أو القيمة <code>FALSE</code> فيما عدا ذلك.
 
== ملاحظات ==
تحذير: إذا أردت أن يعمل الكود بغض النظر عن الأمر <code>register_globals</code>، يجب عليك أن تستعمل مصفوفة المُتغير ‎<code>$_SESSION</code> كمدخلات للمتغيرات العامة الجديدة، لأنه إذا احتوت الشيفرة على الدالة <code>session_register()</code>‎ فلن تعمل في بيئات العمل الغير مُفعل فيها الأمر <code>register_globals</code>.
 
ملاحظة: مُنذ الإصدار 4.2.0 مِن PHP، قيمة التعليمة <code>register_globals</code> هي <code>OFF</code> وينصح مُجتمع PHP المُطورين بعدم تفعيلها واستخدام وسائل أخرى مثل <code>superglobals</code>.
 
تحذير: تُسجل الدالة مُتغيرات عامة. إذا أردت تسجيل مُتغير جلسة من خلال دالة، ستحتاج لجعلها متغير عام باستخدام الكلمة المفتاحية <code>global</code> أو المصفوفة ‎<code>$GLOBALS[]‎</code>.
 
تحذير : إذا كنت تستعمل المُتغير ‎<code>$_SESSION</code> فلا تستعمل الدوال <code>session_register()</code>‎ أو <code>[[PHP/session is registered|session_is_registered()]]</code>‎ أو <code>[[PHP/session unregister|session_unregister()]]‎</code>.
 
ملاحظة: من غير الممكن  أن تُسجل المُتغيرات المصدرية في  جلسة. على سبيل المثال، لا يمكنك عمل اتصال بقاعدة بيانات وتخزين معرف الاتصال  في متغير جلسة ، فلن يصبح الاتصال صالحًا في المرة التالية من استعادة الجلسة. دوال PHP التي تُعيد المُتغيرات المصدرية مُعرفة بذلك في تعريف هذه الدوال (تُعيد النوع [[PHP/resource|resource]]).
 
إذا استعمل المُتغير ‎<code>$_SESSION</code>، اسند قيمًا للمُتغير ‎<code>$_SESSION</code>. على سبيل المِثال: <syntaxhighlight lang="php">
‎$_SESSION['var']='ABC';‎.
</syntaxhighlight>
 
== انظر أيضًا ==
* الدالة <code>[[PHP/session is registered|session_is_registered()]]</code>‎: تتحقق من تسجيل متغير عام في الجلسة أم لا.
* الدالة <code>[[PHP/session unregister|session_unregister()]]</code>‎: تلغي تسجيل متغير عام مِن الجلسة الحالية.  
 
== مصادر ==
* [http://php.net/manual/en/function.session-register.php صفحة الدالة session_register في توثيق PHP الرسمي].
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Session]]

المراجعة الحالية بتاريخ 07:30، 19 أغسطس 2018

(PHP 4, PHP 5.4.0)

تُسجل الدالة session_register()‎ مُتغيرًا عامًا واحدًا أو أكثر مع الجلسة الحالية.

الوصف

bool session_register ( mixed $name [, mixed $... ] )

تقبل الدالة session_register()‎ عددًا مُتغيرًا من المُعاملات التي يُمكن أن تكون سلسلة نصية تحتوي على اسم المتغير أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى. تسجل الدالة session_register()‎ لكلّ اسم معامل مُتغيرًا عامًا بنفس الاسم في الجلسة الحالية.  يُمكنك عمل متغير عام جديد عن طريق إعداد عدد منُاسب مِن مصفوفة المُتغير ‎$_SESSION.

<?php

// لا يُفضل إستعمال هذه الدالة
$barney = "A big purple dinosaur.";
session_register("barney");

// $_SESSION يُفضل إستعمال المُتغير
$_SESSION["zim"] = "An invader from another planet.";
?>

في حال عدم استدعاء الدالة session_start()‎ قبل استدعاء الدالةsession_register() ‎، فإن استدعاء الدالة session_start()‎ سيكون ضمنيًا بدون أية معاملات. المتغيّر ‎$_SESSION لا يقلد هذا السلوك ويتطلب استدعاء الدالة session_start()‎ بداية.

تنبيه: أهملت الدالة في الإصدار 5.3.0 وحذفت في الإصدار 5.4.0

المعاملات

name

سلسلة نصية تحتوي على اسم المتغير المراد إنشاؤه أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى.

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

تعيد الدالة session_register()‎ القيمة TRUE في حالة نجاحها، أو القيمة FALSE فيما عدا ذلك.

ملاحظات

تحذير: إذا أردت أن يعمل الكود بغض النظر عن الأمر register_globals، يجب عليك أن تستعمل مصفوفة المُتغير ‎$_SESSION كمدخلات للمتغيرات العامة الجديدة، لأنه إذا احتوت الشيفرة على الدالة session_register()‎ فلن تعمل في بيئات العمل الغير مُفعل فيها الأمر register_globals.

ملاحظة: مُنذ الإصدار 4.2.0 مِن PHP، قيمة التعليمة register_globals هي OFF وينصح مُجتمع PHP المُطورين بعدم تفعيلها واستخدام وسائل أخرى مثل superglobals.

تحذير: تُسجل الدالة مُتغيرات عامة. إذا أردت تسجيل مُتغير جلسة من خلال دالة، ستحتاج لجعلها متغير عام باستخدام الكلمة المفتاحية global أو المصفوفة ‎$GLOBALS[]‎.

تحذير : إذا كنت تستعمل المُتغير ‎$_SESSION فلا تستعمل الدوال session_register()‎ أو session_is_registered()‎ أو session_unregister().

ملاحظة: من غير الممكن  أن تُسجل المُتغيرات المصدرية في  جلسة. على سبيل المثال، لا يمكنك عمل اتصال بقاعدة بيانات وتخزين معرف الاتصال  في متغير جلسة ، فلن يصبح الاتصال صالحًا في المرة التالية من استعادة الجلسة. دوال PHP التي تُعيد المُتغيرات المصدرية مُعرفة بذلك في تعريف هذه الدوال (تُعيد النوع resource).

إذا استعمل المُتغير ‎$_SESSION، اسند قيمًا للمُتغير ‎$_SESSION. على سبيل المِثال:

$_SESSION['var']='ABC';.

انظر أيضًا

  • الدالة session_is_registered()‎: تتحقق من تسجيل متغير عام في الجلسة أم لا.
  • الدالة session_unregister()‎: تلغي تسجيل متغير عام مِن الجلسة الحالية.  

مصادر