دالة PHP setrawcookie ()
مثال
المثال التالي ينشئ ملف تعريف ارتباط باستخدام PHP. يُطلق على ملف تعريف الارتباط اسم "المستخدم" وستكون القيمة "John Doe". لن تكون قيمة ملف تعريف الارتباط مشفرة بعنوان URL. تنتهي صلاحية ملف تعريف الارتباط بعد 30 يومًا (86400 * 30). يعني استخدام "/" أن ملف تعريف الارتباط متاح في موقع الويب بالكامل (بخلاف ذلك ، حدد الدليل الذي تفضله):
<?php
$cookie_name = "user";
$cookie_value = "John";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
echo "Cookie is set.";
?>
</body>
</html>
?>
التعريف والاستخدام
تحدد وظيفة setrawcookie () ملف تعريف الارتباط (بدون تشفير عنوان URL) ليتم إرساله مع بقية رؤوس HTTP.
غالبًا ما يستخدم ملف تعريف الارتباط لتحديد هوية المستخدم. ملف تعريف الارتباط هو ملف صغير يقوم الخادم بتضمينه على كمبيوتر المستخدم. في كل مرة يطلب فيها نفس الكمبيوتر صفحة بها متصفح ، سيرسل ملف تعريف الارتباط أيضًا. باستخدام PHP ، يمكنك إنشاء واسترداد قيم ملفات تعريف الارتباط.
يتم تعيين اسم ملف تعريف الارتباط تلقائيًا إلى متغير بنفس الاسم. على سبيل المثال ، إذا تم إرسال ملف تعريف ارتباط باسم "المستخدم" ، يتم إنشاء متغير تلقائيًا يسمى المستخدم $ ، يحتوي على قيمة ملف تعريف الارتباط.
ملاحظة: يجب أن تظهر الوظيفة setrawcookie () قبل علامة <html>.
ملاحظة: لتشفير قيمة ملف تعريف الارتباط تلقائيًا بعنوان URL عند الإرسال ، وفك التشفير تلقائيًا عند الاستلام ، استخدم وظيفة setcookie () بدلاً من ذلك.
بناء الجملة
setrawcookie(name, value, expire, path, domain, secure);
قيمه المعامل
Parameter | Description |
---|---|
name | Required. Specifies the name of the cookie |
value | Optional. Specifies the value of the cookie |
expire | Optional. Specifies when the cookie expires. The value: time()+86400*30, will set the cookie to expire in 30 days. If this parameter is not set, the cookie will expire at the end of the session (when the browser closes) |
path | Optional. Specifies the server path of the cookie. If set to "/", the cookie will be available within the entire domain. If set to "/php/", the cookie will only be available within the php directory and all sub-directories of php. The default value is the current directory that the cookie is being set in |
domain | Optional. Specifies the domain name of the cookie. To make the cookie available on all subdomains of example.com, set domain to ".example.com". Setting it to www.example.com will make the cookie only available in the www subdomain |
secure | Optional. Specifies whether or not the cookie should only be transmitted over a secure HTTPS connection. TRUE indicates that the cookie will only be set if a secure connection exists. Default is FALSE. |
تفاصيل تقنية
قيمة الإرجاع: | صواب في النجاح. خطأ في الفشل |
---|---|
إصدار PHP: | 5+ |
مزيد من الأمثلة
مثال
استرجع قيمة ملف تعريف الارتباط المسمى "المستخدم" (باستخدام المتغير العام $ _COOKIE). استخدم أيضًا الوظيفة isset () لمعرفة ما إذا كان ملف تعريف الارتباط موجودًا:
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
مثال
لتعديل ملف تعريف الارتباط ، ما عليك سوى تعيين (مرة أخرى) ملف تعريف الارتباط باستخدام وظيفة setrawcookie ():
<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
مثال
لحذف ملف تعريف ارتباط ، استخدم وظيفة setrawcookie () مع تاريخ انتهاء صلاحية في الماضي:
<?php
$cookie_name = "user";
unset($_COOKIE[$cookie_name]);
// empty value and expiration one hour before
$res = setrawcookie($cookie_name, '', time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
مثال
قم بإنشاء برنامج نصي صغير يتحقق من تمكين ملفات تعريف الارتباط. أولاً ، حاول إنشاء ملف تعريف ارتباط تجريبي باستخدام الوظيفة setrawcookie () ، ثم عد متغير المصفوفة $ _COOKIE:
<?php
setrawcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled";
} else {
echo "Cookies are disabled";
}
?>
</body>
</html>
❮ مرجع شبكة PHP