English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

أدوات على الإنترنت

دروس PHP الأساسية

دروس PHP المتقدمة

PHP & MySQL

PHP Cookie

دليل PHP

في هذا الدرس، ستتعلم كيفية استخدام كوكي PHP لتخزين بيانات صغيرة داخل متصفح المستخدم.

ما هو الكوكي

نصيحة:في كل مرة يطلب المتصفح صفحة من الخادم، يتم إرسال جميع بيانات الكوكي تلقائيًا إلى الخادم في طلب المعلومات.

ضبط الكوكي

تُستخدم دالة setcookie() لضبط الكوكي في PHP. تأكد من التطبيق على دالة setcookie() قبل أي مخرجات يتم توليدها في النص، وإلا لن يتم ضبط الكوكي. يمكن تقديم النحو الأساسي للدالة بطرق التالي:

setcookie(name, value, expire, path, domain, secure);

مواصفات دالة setcookie() هي كالتالي:

المواصفاتوصف
nameاسم الكوكي.
valueقيمة الكوكي. يجب عدم تخزين معلومات حساسة في هذه القيمة لأنها يتم تخزينها على جهاز المستخدم.
expiresتاريخ انتهاء الصلاحية في تنسيق تسلسل زمني UNIX. بعد هذا الوقت، سيكون الكوكي غير قابل للوصول. القيمة الافتراضية هي 0
pathتحديد المسار الذي يمكن فيه استخدام الكوكي على الخادم. إذا تم تعيينه إلى /، فإن الكوكي سيكون متاحًا في جميع المجالات.
domainتحديد المجال الذي يمكن استخدامه للكوكي، مثل: ar.oldtoolbag.com.
secureهذا الحقل (إذا كان موجودًا) يعني أن الكوكي سيُرسل فقط عند وجود اتصال HTTPS آمن.

نصيحة:إذا تم تعيين وقت انتهاء صلاحية الكوكي إلى 0 أو تجاوزها، فإن الكوكي سينتهي صلاحيته عند انتهاء الدورة، أي عند إغلاق المتصفح.

هذا مثال على استخدام دالة setcookie() لإنشاء كوكي باسم userName وتعيين قيمته John Carter. كما تم تحديد وقت انتهاء صلاحية الكوكي لمدة 30 يومًا (30 أيام * 24 ساعة * 60 دقيقة * 60 ثانية).       

<?php
//تعيين الكوكي
setcookie("username", "John Carter", time()+30*24*60*60);
?>

ملاحظة:جميع المعلمات باستثناء الاسم إلزامية. يمكنك أيضًا استبدال المعلمات بالفراغ ("") لتخطي المعلمة، ولكن لتحويل معامل انتهاء الصلاحية، استخدم صفر (0) لأنه عدد.

تحذير:لا تدع数据进行 تخزين في الكوكي الحساسة، لأن المستخدمين السيئين قد يتمكنون من التلاعب البيانات الحساسة. استخدمالجلسة.

وصول إلى قيمة الكوكي

يستخدم المتغير الابتدائي الكامل في PHP $_COOKIE لاسترجاع قيم الكوكي. عادةً يكون مصفوفة مرتبطة تحتوي على قائمة جميع القيم المرسلة من المتصفح في الطلب الحالي، ومرتبطة بمسامير الأسماء. يمكنك الوصول إلى قيمة كوكي واحدة باستخدام رمز المصفوفة العادية، مثل، لعرض كوكي اسم المستخدم الذي تم تعيينه في المثال السابق، يمكنك استخدام الكود التالي.

<?php
//وصول إلى قيمة كوكي واحدة
echo $_COOKIE["username"];
?>

يولد رمز PHP في المثال أعلاه إلى ما يلي من النواتج.

John Carter

قبل الوصول إلى قيمة الكوكي، من الأفضل التحقق من إعداد الكوكي. يمكنك استخدام دالة PHP isset()، كما في ما يلي:

<?php
//تحقق من إعداد الكوكي
if(isset($_COOKIE["username"])){
    echo "مرحبًا " . $_COOKIE["username"];
}
    echo "مرحبًا الضيف!";
}
?>

يمكنك استخدام دالة print_r($_COOKIE) مثل print_r() لمعرفة بنية مصفوفة $_COOKIE، تمامًا مثل معالجة أي مصفوفة أخرى.

حذف الكوكي

يمكنك حذف الكوكي باستخدام نفس دالة setcookie() باستخدام اسم الكوكي وأي قيمة (مثل字符串 الفارغ) ولكن يجب أن تكون تاريخ انتهاء الصلاحية قبل الوقت الحالي، كما في المثال التالي:

<?php
//حذف الكوكي
setcookie("username", "", time()-3600);
?>

نصيحة:يجب أن تمرر نفس الأسماء التي استخدمتها أثناء إنشاء Cookie لأول مرة، مثل المسار، الدومين وأي متغيرات أخرى، لضمان حذف Cookie الصحيح.