أحدث البرامج التعليمية وتطوير الشبكة
×

PHP البرنامج التعليمي

PHP الصفحة الرئيسية PHP مقدمة PHP تثبيت PHP بناء الجملة PHP المتغيرات PHP صدى / طباعة PHP أنواع البيانات PHP سلاسل PHP الثوابت PHP مشغلي PHP If...Else...Elseif PHP Switch PHP في حين حلقات PHP لحلقات PHP وظائف PHP المصفوفات PHP فرز المصفوفات PHP Superglobals

PHP معالجة

PHP شكل معالجة PHP شكل التحقق من صحة PHP شكل مطلوب PHP شكل URL/E-mail PHP شكل كامل

PHP متقدم

PHP المصفوفات متعددة PHP التاريخ و الوقت PHP تتضمن PHP ملف معالجة PHP ملف فتح / قراءة PHP ملف إنشاء / كتابة PHP ملف تحميل PHP Cookies PHP Sessions PHP مرشحات PHP Filters متقدم PHP خطأ معالجة PHP استثناء

MySQL Database

MySQL قاعدة البيانات MySQL صلة MySQL Create DB MySQL Create الطاولة MySQL Insert Data MySQL الحصول على معرف آخر MySQL إدراج متعددة MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML موزعي PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX مقدمة AJAX PHP AJAX قاعدة البيانات AJAX XML AJAX بحث حي AJAX قارئ آر إس إس AJAX صندوق الاقتراع

PHP Examples

PHP أمثلة PHP اختبار قصير PHP شهادة

PHP مرجع

PHP مجموعة PHP تقويم PHP تاريخ PHP دليل PHP خطأ PHP نظام الملفات PHP فلتر PHP FTP PHP HTTP PHP Libxml PHP بريد PHP الرياضيات PHP متفرقات PHP MySQLi PHP SimpleXML PHP خيط PHP XML PHP Zip PHP المناطق الزمنية

 

PHP setcookie() Function

<PHP HTTP المرجعي

مثال

المثال التالي بإنشاء ارتباط اسمه "user" مع قيمة "John Doe" . فإن الكعكة تنتهي بعد 30 يوما (86400 * 30) . و "/" يعني أن الكوكي متوفرة في كامل الموقع (otherwise, select the directory you prefer) .

نحن ثم استرداد قيمة ملف تعريف الارتباط "user" (باستخدام متغير $ _COOKIE العالمي). ونحن أيضا استخدام isset() وظيفة لمعرفة ما إذا كان تعيين ملف تعريف الارتباط:

<!DOCTYPE html>
<?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() تحدد وظيفة ارتباط ليتم إرسالها جنبا إلى جنب مع بقية رؤوس HTTP.

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

يتم تعيين اسم الكعكة تلقائيا إلى متغير من نفس الاسم. على سبيل المثال، إذا تم إرسال ملف تعريف الارتباط مع اسم "user" ، تلقائيا إنشاؤها يسمى المتغير $ المستخدم، يحتوي على قيمة الكعكة.

Note: إن setcookie() يجب أن تظهر وظيفة قبل <html> العلامة.

Note: يتم URLencoded قيمة الكعكة تلقائيا عند إرسال ملفات تعريف الارتباط، وفك تلقائيا عندما تلقى (لمنع URLencoding، واستخدام setrawcookie() بدلا من ذلك).

بناء الجملة

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

معامل وصف
name مطلوب. تحدد اسم الكوكيز
value اختياري. تحدد قيمة ملف تعريف الارتباط
expire اختياري. يحدد متى تنتهي الكعكة. القيمة: time() + 86400 * 30، وتعيين ملف تعريف الارتباط أن تنتهي في غضون 30 يوما. إذا تم حذف هذه المعلمة أو تعيين إلى 0، فإن الكوكي تنتهي في نهاية الدورة (when the browser closes) . الافتراضي هو 0
path اختياري. يحدد مسار الخادم من الكعكة. إذا تم تعيين إلى "/" ، وسوف تكون الكعكة المتاحة داخل المجال بالكامل. إذا تم تعيين إلى "/php/" ، وسوف تكون الكعكة المتاحة ضمن الدليل فب وكافة الدلائل الفرعية فب فقط. القيمة الافتراضية هي الدليل الحالي الذي يتم تعيين ملف تعريف الارتباط في
domain اختياري. تحدد اسم المجال من الكعكة. لجعل الكوكي متوفرة في جميع النطاقات الفرعية لexample.com، مجال لتعيين "example.com" . سوف تعيينها إلى www.example.com جعل الكوكي متوفرة فقط في المجال الفرعي شبكة الاتصالات العالمية
secure اختياري. تحدد ما إذا كان ينبغي إحالة ملفات تعريف الارتباط فقط عبر اتصال HTTPS آمن. يشير صحيح أن الكعكة سيتم تعيين فقط في حالة وجود اتصال آمن. الافتراضي هو FALSE
httponly اختياري. إذا تعيين إلى TRUE ملفات تعريف الارتباط سيكون الوصول إليها إلا من خلال بروتوكول HTTP (the cookie will not be accessible by scripting languages) . هذا الإعداد يمكن أن يساعد على الحد من سرقة الهوية من خلال هجمات XSS. الافتراضي هو FALSE

تفاصيل تقنية

قيمة الإرجاع: الحقيقية على النجاح. FALSE على الفشل
صفحة PHP: 4+
PHP التغيير: PHP 5.5 - أدرج سمة ماكس العمر في رأس تعيين ملف تعريف الارتباط إرسالها إلى العميل
PHP 5.2 - تمت إضافة المعلمة httponly

مزيد من الأمثلة

مثال

عدة تنتهي مواعيد لملفات تعريف الارتباط:

<?php
$value = "Hello world!";

// cookie will expire when the browser close
setcookie("myCookie", $value);

// cookie will expire in 1 hour
setcookie("myCookie", $value, time() + 3600);

// cookie will expire in 1 hour, and will only be available
// within the php directory + all sub-directories of php
setcookie("myCookie", $value, time() + 3600, "/php/");
?>
<html>
<body>

...some code...

</body>
</html>
تشغيل المثال »

مثال

لتعديل الكعكة، مجرد مجموعة (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 يتم تمكين. أولا، في محاولة لإنشاء ملف تعريف ارتباط اختبار مع 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 المرجعي