تقوم الدالة setcookie() بإرسال ملف تعريف ارتباط HTTP إلى العميل.
ملف تعريف الارتباط هو متغير يتم إرساله إلى المتصفح بواسطة الخادم. ملفات تعريف الارتباط هي عادةً ملفات نصية صغيرة يقوم الخادم بتضمينها على جهاز الكمبيوتر الخاص بالمستخدم. يتم إرسال ملف تعريف الارتباط هذا في كل مرة يطلب فيها الكمبيوتر نفسه صفحة من خلال المتصفح.
يتم تعيين اسم ملف تعريف الارتباط تلقائيًا لمتغير يحمل نفس الاسم. على سبيل المثال، إذا كان ملف تعريف الارتباط الذي يتم إرساله يسمى "مستخدم"، فسيتم تلقائيًا إنشاء متغير يسمى $user يحتوي على قيمة ملف تعريف الارتباط.
يجب تعيين ملف تعريف الارتباط قبل إرسال أي مخرجات أخرى إلى العميل.
في حالة نجاحها، ترجع الدالة TRUE. إرجاع FALSE عند الفشل.
مجموعة ملفات تعريف الارتباط (الاسم، القيمة، انتهاء الصلاحية، المسار، المجال، آمن)
المعلمة | يصف |
---|---|
اسم | مطلوب. يحدد اسم ملف تعريف الارتباط. |
قيمة | مطلوب. يحدد قيمة ملف تعريف الارتباط. |
تنتهي صلاحيتها | خياري. يحدد وقت انتهاء صلاحية ملف تعريف الارتباط. time()+3600*24*30 سيحدد وقت انتهاء صلاحية ملف تعريف الارتباط على 30 يومًا. إذا لم يتم تعيين هذه المعلمة، فستنتهي صلاحية ملف تعريف الارتباط تلقائيًا بعد انتهاء الجلسة (أي عند إغلاق المتصفح). |
طريق | خياري. يحدد مسار الخادم لملفات تعريف الارتباط. إذا تم تعيين المسار على "/"، فسيكون ملف تعريف الارتباط صالحًا داخل اسم المجال بالكامل. إذا تم تعيين المسار على "/test/"، فسيكون ملف تعريف الارتباط صالحًا ضمن دليل الاختبار وجميع الدلائل الفرعية الخاصة به. قيمة المسار الافتراضية هي الدليل الحالي حيث يوجد ملف تعريف الارتباط. |
اِختِصاص | خياري. يحدد اسم المجال لملف تعريف الارتباط. لكي يكون ملف تعريف الارتباط صالحًا في جميع النطاقات الفرعية لـ example.com، يلزمك تعيين اسم المجال لملف تعريف الارتباط إلى ".example.com". عندما تقوم بتعيين اسم المجال لملف تعريف الارتباط إلى www.example.com، يكون ملف تعريف الارتباط صالحًا فقط في النطاق الفرعي www. |
يؤمن | خياري. يحدد ما إذا كان يجب إرسال ملفات تعريف الارتباط عبر اتصال HTTPS آمن. اضبط على TRUE إذا كانت هناك حاجة إلى نقل ملفات تعريف الارتباط عبر اتصال HTTPS آمن. الافتراضي هو FALSE. |
نصيحة: يمكن الوصول إلى قيمة ملف تعريف الارتباط المسمى "user" عبر $HTTP_COOKIE_VARS["user"] أو $_COOKIE["user"].
ملاحظة: عند إرسال ملف تعريف الارتباط، يتم ترميز قيمة ملف تعريف الارتباط تلقائيًا بعنوان URL. يتم تنفيذ فك تشفير URL تلقائيًا عند الاستلام. إذا لم تكن بحاجة إلى ذلك، يمكنك استخدام setrawcookie() بدلاً من ذلك.
تعيين وإرسال ملفات تعريف الارتباط:
<?php$value = "قيمة ملف تعريف الارتباط الخاص بي";// إرسال ملف تعريف ارتباط بسيط إلى ملف تعريف الارتباط("TestCookie",$value);?><html><body>......
<?php$value = "قيمة ملف تعريف الارتباط الخاص بي";// إرسال ملف تعريف ارتباط تنتهي صلاحيته خلال 24 ساعةsetcookie("TestCookie",$value, time()+3600*24);?><html><body>... ...
طرق مختلفة لاسترداد قيمة ملف تعريف الارتباط (بعد تعيين ملف تعريف الارتباط):
<html><body><?php// طباعة ملفات تعريف الارتباط الفرديةecho $_COOKIE["TestCookie"];echo "<br />";echo $HTTP_COOKIE_VARS["TestCookie"];echo "<br />";// طباعة جميع ملفات تعريف الارتباطprint_r($_COOKIE);?></body></html>
سيتم إخراج الكود أعلاه:
قيمة ملف تعريف الارتباط الخاص بي، قيمة ملف تعريف الارتباط الخاصة بي ([TestCookie] => قيمة ملف تعريف الارتباط الخاص بي)
احذف ملف تعريف الارتباط عن طريق تعيين تاريخ انتهاء الصلاحية على تاريخ/وقت في الماضي:
<?php// اضبط تاريخ انتهاء الصلاحية على ساعة واحدةagosetcookie ("TestCookie"، ""، time() - 3600)؛?><html><body>......
إنشاء مجموعة من ملفات تعريف الارتباط:
<?phpsetcookie("cookie[three]"،cookiethree");setcookie("cookie[two]"،cookietwo");setcookie("cookie[one]"،cookieone");// طباعة ملفات تعريف الارتباط (بعد إعادة تحميل الصفحة)if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />" }; }?><html><body>......
سيتم إخراج الكود أعلاه:
ثلاثة: ملف تعريف الارتباط ثلاثة: ملف تعريف الارتباط اثنين: ملف تعريف الارتباط واحد