110 lines
3.9 KiB
Markdown
110 lines
3.9 KiB
Markdown
---
|
||
title: PHP Cookies
|
||
localeTitle: الكوكيز بي اتش بي
|
||
---
|
||
# فب كيك
|
||
|
||
## ما هو ملف تعريف الارتباط؟
|
||
|
||
وكثيرا ما يستخدم ملف تعريف الارتباط لتحديد هوية المستخدم. إنه ملف صغير يقوم الخادم بتضمينه على كمبيوتر المستخدم. في كل مرة يطلب فيها نفس الكمبيوتر صفحة باستخدام متصفح ، فإنه سيرسل ملف تعريف الارتباط أيضًا.
|
||
تم تصميم ملفات تعريف الارتباط لتكون آلية موثوق بها لتذكر المعلومات الحزينة أو لتسجيل نشاط تصفح المستخدم.
|
||
كما يمكن استخدامها لتذكر القطع التعسفي من المعلومات التي قام المستخدم بإدخالها مسبقًا في حقول النماذج مثل الأسماء والعناوين وكلمات المرور وما إلى ذلك.
|
||
|
||
## خلق ملفات تعريف الارتباط مع PHP
|
||
|
||
باستخدام PHP ، يمكنك إنشاء واسترجاع قيم ملفات تعريف الارتباط. يتم إنشاء ملف تعريف الارتباط مع الدالة setcookie ().
|
||
|
||
`setcookie(name, value, expire, path, domain, secure, httponly);`
|
||
|
||
معلمة _الاسم_ فقط هي معلمة مطلوبة. جميع المعلمات الأخرى اختيارية.
|
||
|
||
## PHP إنشاء / استرداد ملف تعريف الارتباط
|
||
|
||
المثال التالي يقوم بإنشاء ملف تعريف ارتباط يسمى "المستخدم" بقيمة "John Doe".
|
||
تنتهي صلاحية ملف تعريف الارتباط بعد 30 يومًا (86400 \* 30).
|
||
يعني "/" أن ملف تعريف الارتباط متاح في موقع ويب كامل (آخر ، يمكنك تحديد الدليل الذي تفضله).
|
||
ثم نقوم باسترداد قيمة "مستخدم" ملف تعريف الارتباط (باستخدام المتغير الشامل $ \_COOKIE).
|
||
نستخدم أيضًا الدالة isset () لمعرفة ما إذا تم تعيين ملف تعريف الارتباط أم لا:
|
||
|
||
**مثال:**
|
||
|
||
`<?php
|
||
$cookie_name = "user";
|
||
$cookie_value = "John Doe";
|
||
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
|
||
?>
|
||
<html>
|
||
<body>
|
||
|
||
<?php
|
||
if(!isset($_COOKIE[$cookie_name])) {
|
||
echo "Cookie named '" . $cookie_name . "' is not set!";
|
||
} else {
|
||
echo "Cookie '" . $cookie_name . "' is set!<br>";
|
||
echo "Value is: " . $_COOKIE[$cookie_name];
|
||
}
|
||
?>
|
||
</body>
|
||
</html>
|
||
`
|
||
|
||
**ملاحظة:** يجب أن تظهر الدالة setcookie () **قبل** العلامة.
|
||
|
||
انتاج:
|
||
تم تعيين Cookie 'user'!
|
||
القيمة هي: John Doe
|
||
|
||
## PHP تعديل قيمة ملف تعريف الارتباط
|
||
|
||
لتعديل ملف تعريف الارتباط ، ما عليك سوى تعيين القيمة مرة أخرى باستخدام الدالة setcookie ():
|
||
|
||
**مثال:**
|
||
|
||
`<?php
|
||
$cookie_name = "user";
|
||
$cookie_value = "Jane Porter";
|
||
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
|
||
?>
|
||
<html>
|
||
<body>
|
||
|
||
<?php
|
||
if(!isset($_COOKIE[$cookie_name])) {
|
||
echo "Cookie named '" . $cookie_name . "' is not set!";
|
||
} else {
|
||
echo "Cookie '" . $cookie_name . "' is set!<br>";
|
||
echo "Value is: " . $_COOKIE[$cookie_name];
|
||
}
|
||
?>
|
||
|
||
</body>
|
||
</html>
|
||
`
|
||
|
||
انتاج:
|
||
تم تعيين Cookie 'user'!
|
||
القيمة هي: أليكس بورتر
|
||
|
||
## PHP حذف ملف تعريف الارتباط
|
||
|
||
لحذف ملف تعريف ارتباط ، استخدم الدالة setcookie () ذات تاريخ انتهاء الصلاحية في الماضي:
|
||
|
||
**مثال:**
|
||
|
||
`<?php
|
||
// set the expiration date to one hour ago
|
||
setcookie("user", "", time() - 3600);
|
||
?>
|
||
<html>
|
||
<body>
|
||
|
||
<?php
|
||
echo "Cookie 'user' is deleted.";
|
||
?>
|
||
|
||
</body>
|
||
</html>
|
||
`
|
||
|
||
انتاج:
|
||
يتم حذف Cookie 'user'. |