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

من موسوعة حسوب
< PHP
لا ملخص تعديل
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة session_register()‎ في PHP
<noinclude>{{DISPLAYTITLE:الدالة <code>session_register()</code>‎ في PHP}}</noinclude>
}}</noinclude>
(PHP 4, PHP 5.4.0)
(PHP 4, PHP 5.4.0)


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


== الوصف ==
== الوصف ==
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
bool session_register ( mixed $name [, mixed $... ] )
bool session_register ( mixed $name [, mixed $... ] )
</syntaxhighlight>تقبل الدالة <code>session_register()‎</code> عددًا مُتغيرًا من المُعاملات التي يُمكن أن تكون سلسلة نصية تحتوي على اسم المتغير أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى.  تسجل الدالة <code>session_register()‎</code> لكلّ اسم معامل مُتغيرا عاما بنفس الاسم في الجلسة الحالية.
</syntaxhighlight>تقبل الدالة <code>session_register()‎</code> عددًا مُتغيرًا من المُعاملات التي يُمكن أن تكون سلسلة نصية تحتوي على اسم المتغير أو مصفوفة من أسماء المتغيرات أو المصفوفات الأخرى. تسجل الدالة <code>session_register()‎</code> لكلّ اسم معامل مُتغيرًا عامًا بنفس الاسم في الجلسة الحالية.


 يُمكنك عمل متغير عام جديد عن طريق إعداد عدد منُاسب مِن مصفوفة المُتغير ‎<code>$_SESSION</code>.<syntaxhighlight lang="php">
 يُمكنك عمل متغير عام جديد عن طريق إعداد عدد منُاسب مِن مصفوفة المُتغير ‎<code>$_SESSION</code>.<syntaxhighlight lang="php">
سطر 14: سطر 13:


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


// $_SESSION يُفضل إستعمال المُتغير
// $_SESSION يُفضل إستعمال المُتغير
$_SESSION["zim"] = "An invader from another planet.";
$_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>‎ بداية.
</syntaxhighlight>في حال عدم استدعاء الدالة <code>[[php/session start|session_start()]]</code>‎ قبل استدعاء الدالةsession_register() ‎،فإن استدعاء الدالة <code>[[php/session start|session_start()‎]]</code> سيكون ضمنيًا بدون أية معاملات. ‎<code>$_SESSION</code> لا يقلد هذا السلوك ويتطلب استدعاء الدالة <code>[[php/session start|session_start()]]</code>‎ بداية.


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


== المعاملات ==
== المعاملات ==
<code>name</code>


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


== القيم المعادة ==
== القيم المعادة ==
تعيد الدالة <code>session_register()</code>‎ القيمة <code>TRUE</code> في حالة نجاحها والقيمة <code>FALSE</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>.
تحذير: إذا أردت أن يعمل الكود بغض النظر عن الأمر <code>register_globals</code>، يجب عليك أن تستعمل مصفوفة المُتغير ‎<code>$_SESSION</code> كمدخلات للمتغيرات العامة الجديدة، لأنه إذا احتوت الشيفرة على الدالة <code>session_register()</code>‎ فلن تعمل في بيئات العمل الغير مُفعل فيها الأمر <code>register_globals</code>.


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


تحذير: تُسجل الدالة مُتغيرات عامة. إذا أردت تسجيل مُتغير جلسة من خلال دالة، ستحتاج لجعلها متغير عام باستخدام الكلمة المفتاحية <code>global</code> أو المصفوفة ‎<code>$GLOBALS[]‎</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>.
تحذير : إذا كنت تستعمل المُتغير ‎<code>$_SESSION</code> فلا تستعمل الدوال <code>session_register()</code>‎ أو <code>[[PHP/session is registered|session_is_registered()]]</code>‎ أو <code>[[PHP/session unregister|session_unregister()]]‎</code>.


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


إذا استعمل المُتغير ‎<code>$_SESSION</code>، اسند قيمًا للمُتغير ‎<code>$_SESSION</code>. على سبيل المِثال: <syntaxhighlight lang="php">
إذا استعمل المُتغير ‎<code>$_SESSION</code>، اسند قيمًا للمُتغير ‎<code>$_SESSION</code>. على سبيل المِثال: <syntaxhighlight lang="php">
سطر 53: سطر 47:
</syntaxhighlight>
</syntaxhighlight>


== انظر أيضا ==
== انظر أيضًا ==
* <code>‎$_SESSION</code>
* الدالة <code>[[PHP/session is registered|session_is_registered()]]</code>‎: تتحقق من تسجيل متغير عام في الجلسة أم لا.
* الدالة <code>[[PHP/session is registered|session_is_registered()]]</code>‎:تتحقق من تسجيل متغير عام في الجلسة أم لا.
* الدالة <code>[[PHP/session unregister|session_unregister()]]</code>‎: تلغي تسجيل متغير عام مِن الجلسة الحالية.  
* الدالة <code>[[php/session unregister|session_unregister()]]</code>‎: تقوم بفك تسجيل متغير عام مِن الجلسة الحالية.  


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.session-register.php صفحة الدالة session_register في توثيق PHP الرسمي].
* [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()‎: تلغي تسجيل متغير عام مِن الجلسة الحالية.  

مصادر