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'. |