وغالبا ما تستخدم الكوكيز لتحديد المستخدم.
ما هو تعريف الارتباط؟
وغالبا ما تستخدم الكوكيز لتحديد المستخدم. ملف تعريف الارتباط هو ملف صغير أن يضمن الخادم على جهاز الكمبيوتر الخاص بالمستخدم. في كل مرة يطلب الكمبيوتر نفس صفحة مع مستعرض، وسوف يرسل ملف تعريف الارتباط أيضا. مع PHP، يمكنك على حد سواء إنشاء واسترداد القيم الكعكة.
إنشاء Cookies مع PHP
يتم إنشاء ملف تعريف الارتباط مع setcookie() وظيفة.
بناء الجملة
setcookie( name, value, expire, path, domain, secure, httponly );
مطلوب فقط المعلمة الاسم. جميع المعلمات الأخرى اختيارية.
PHP إنشاء / استرداد كوكي
المثال التالي بإنشاء ارتباط اسمه "user" مع قيمة "John Doe" . فإن الكعكة تنتهي بعد 30 يوما (86400 * 30) . و "/" يعني أن الكوكي متوفرة في كامل الموقع (وإلا، حدد الدليل كنت تفضل ذلك).
نحن ثم استرداد قيمة ملف تعريف الارتباط "user" (باستخدام متغير $ _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>
تشغيل المثال » Note: إن setcookie() يجب أن تظهر وظيفة قبل <html> العلامة.
Note: يتم URLencoded قيمة الكعكة تلقائيا عند إرسال ملفات تعريف الارتباط، وفك تلقائيا عندما تلقى (لمنع URLencoding، واستخدام setrawcookie() بدلا من ذلك).
تعديل قيمة كوكي
لتعديل الكعكة، مجرد مجموعة (again) ملفات تعريف الارتباط باستخدام setcookie() وظيفة:
مثال
<?php
$cookie_name = "user";
$cookie_value = "Alex
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>
تشغيل المثال » حذف كوكي
لحذف ملفات تعريف الارتباط، استخدم setcookie() وظيفة مع تاريخ انتهاء الصلاحية في الماضي:
مثال
<?php
// set the expiration date to one hour ago
setcookie("user",
"" , time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user'
is deleted.";
?>
</body>
</html>
تشغيل المثال » معرفة ما اذا كان Cookies وتمكين
المثال التالي بإنشاء برنامج نصي صغير يتحقق سواء cookies يتم تمكين. أولا، في محاولة لإنشاء ملف تعريف ارتباط اختبار مع setcookie() وظيفة، ثم عد مجموعة متغير $ _COOKIE:
مثال
<?php
setcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo
"Cookies are disabled.";
}
?>
</body>
</html>
تشغيل المثال » PHP الكامل HTTP المرجعي
للإشارة كاملة من وظائف HTTP، انتقل إلى لدينا كامل PHP HTTP المرجعي .