Cookie

មេរៀន​នេះ មាន​ជា​វីដេអូ ។

មេរៀន​ជា​វីដេអូ

Cookie គឺ​ជា​ទិន្នន័យ​មួយ​ប្រភេទ ដែល​វា​ត្រូវ​បាន​ផ្ទុក​នៅ​ក្នុង Web Browser របស់​អ្នក​ប្រើប្រាស់ ។ ដោយ​ហេតុ​តែ​វា​ផ្សេងៗ​ពី​គ្នា​ពី web browser មួយទៅ web browser មួយ​ទៀត ដូចនេះ យើង​អាច​យក​លក្ខណៈ​របស់​វា​ទៅ​បង្កើត​ជា​ការ log in ព្រោះ​ការ log in តាម​ធម្មតា វា​តែងផ្សេងៗ​ពី web browser នីមួយៗ ។

កំណត់​​តម្លៃ​ក្នុង Cookie

ដើម្បី​កំណត់​តម្លៃ​ចូល​ទៅ​ក្នុង Cookie យើង​ត្រូវ​ប្រើ setcookie() ។

តម្រូវ​ការ​នៃ setcookie()
  1. ឈ្មោះ ជា​ឈ្មោះ​នៃ​តម្លៃ​ដែល​ចង់​ផ្ទុក ឬ​យើង​អាច​គិត​ថា​ជា key នៃ array ។
  2. តម្លៃ ជា​តម្លៃ​នៃ​ឈ្មោះ​ដែល​បាន​កំណត់​ខាងលើ ។ តម្លៃ​ដើម​គឺ string ទទេ ។
  3. ពេល​ផុត​កំណត់ ជា​វិនាទី​ដែល​តម្លៃ​ខាងលើ​ត្រូវ​ផុត​កំណត់ (លុប​ចោល) ដែល​វិនាទី​នោះ គឺ​រាប់​ចាប់ពី​កាលបរិច្ឆេទ 10/10/1997 00:00:00Z មក​ដល់​ពេល​ដែល​យើង​ចង់​ឲ្យ​វា​ផុត​កំណត់ ។ ឧទាហរណ៍ បើ​ចង់​ឲ្យ​ផុត​កំណត់​១​សប្ដាហ៍​ទៀត យើង​អាច​សរសេរ time()*7*24*60*60 (time() គឺ​ចាប់​ពេល​បច្ចុប្បន្ន​គិត​ជា​វិនាទី រាប់​ចាប់​ពី​កាលបរិច្ឆេទ 10/10/1997 00:00:00Z) ។ តម្លៃ​ដើម​គឺ 0 ។ Web Browser នឹង​លុប​ដោយ​ស្វ័យ​ប្រវត្តិ​នូវ Cookie ទាំងឡាយ​ណា ដែល​ផុត​កំណត់ ។
  4. ទីតាំង ជា​ទីតាំង​នៃ​ទំព័រ ដែល​ចង់​ឲ្យ​តម្លៃ​ខាងលើ អាច​ប្រើ​បាន ។ បើ​កំណត់ / មាន​ន័យ​ថា ប្រើ​បាន​គ្រប់​កន្លែង ។ បើ​កំណត់ /html/ មាន​ន័យ​ថា ប្រើ​បាន​ក្នុង​ទំព័រ /html/ នោះ និង​ទំព័រ​ដែល​ជា​កូន​នៃ​ទំព័រ​នោះ ដូចជា /html/basic ។ តម្លៃ​ដើម​គឺ / ។
  5. domain ជា​ domain ដែល​តម្លៃ​ខាងលើ អាច​ប្រើ​បាន ។ បើ​កំណត់ khode.academy មាន​ន័យ​ថា ប្រើ​បាន​គ្រប់ domain ដែល​ទាក់ទង​នឹង khode.academy ​មាន​ន័យ​ថា ទោះ​បី test.khode.academy ក៏​អាច​ប្រើ​បាន​ដែរ ។ បើ​កំណត់ test.khode.academy គឺ​បាន​តែ sub domain មួយ​នោះ​ប៉ុណ្ណោះ ។ តម្លៃ​ដើម​គឺ string ទទេ ។
  6. ប្រព័ន្ធ​សុវត្ថិភាព (តម្លៃ​ដើម​គឺ false)
    • true មាន​ន័យ​ថា ប្រើ​បាន​តែ​ជាមួយ https ប៉ុណ្ណោះ ។
    • false មាន​ន័យ​ថា ទោះ http ក៏​ប្រើបាន​ដែរ ។
  7. httponly (តម្លៃ​ដើម​គឺ false)
    • true មាន​ន័យ​ថា មិន​អាច​ប្រើ​បាន​ជាមួយ scripting language ដូចជា Javascript ទេ
    • false មាន​ន័យថា ប្រើ​បាន ទោះ​ជា​អ្វី​ក៏​ដោយ ។

ហៅ​តម្លៃ​ពី Cookie

ដើម្បី​ចាប់​យក​តម្លៃ​ពី Cookie យើង​អាច​ប្រើ $_COOKIE ។

បើ​យើង​កំណត់​តម្លៃ​ចូល​ទៅ​ក្នុង $_COOKIE វា​នឹង​ត្រូវ​ចូល​ទៅ​ក្នុង $_COOKIE តែ​វា​មិន​ចូល​ទៅក្នុង Cookie ដែល​នៅ​លើ Web Browser នោះ​ទេ ។

<?php
    // បើ​មាន number ក្នុង cookie, ដំកើន 1
    if(isset($_COOKIE['number']))
        $_COOKIE['number'] += 1;

    // បើ​គ្មាន number ក្នុង cookie, បង្កើត (ផុត​កំណត់ 7 ថ្ងៃ​ទៀត)
    else
        setcookie("number", 1, time()+7*24*60*60);
?>
<html>
   <body>
      <?php  echo "អ្នក​បើក​ទំព័រ​នេះ {$_COOKIE['number']} ដង"; ?>
   </body>
</html>

Cookie ​ជា​ផ្នែក​មួយ​នៃ Header ។

លុប​តម្លៃ​ចេញ​ពី Cookie

ដោយ​ហេតុ​តែ cookie វា​ស្ថិត​នៅ​ក្នុង web browser របស់​អ្នក​ប្រើប្រាស់ ។ ហើយ PHP ដំណើរការ​នៅ server ដូច​នេះ​គ្មាន​កូដ​ណាមួយ​ដែល​លុប cookie ចេញ​ដោយ​ផ្ទាល់​បាន​ទេ ។ ប៉ុន្តែ web browser នឹង​លុប cookie ដែល​ផុត​កំណត់​ដោយ​ស្វ័យ​ប្រវត្តិ ។ ដូចនេះ​ដើម្បី​លុប cookie យើង​ត្រូវ​កំណត់ cookie នឹង​ដដែល ដោយ​កំណត់​ថ្ងៃ​ផុត​កំណត់​ជា​ថ្ងៃ​ដែល​កន្លង​ហួស ។

<?php
setcookie("number", "", time()-60);
?>
ទំព៏រ​ដើម កូដ វីដេអូ បញ្ជី ចែករំលែក បោះពុម្ភ ឡើង​លើ Facebook Google Plus Twitter មតិ ឧបត្ថម្ភ ទំនាក់ទំនង អាជ្ញាប័ណ្ឌ សិទ្ធ​អ្នក​និពន្ធ បិទ Khode Academy មុន បន្ទាប់ ប្ដូរ​ម៉ូត