Cookie
មេរៀននេះ មានជាវីដេអូ ។
Cookie គឺជាទិន្នន័យមួយប្រភេទ ដែលវាត្រូវបានផ្ទុកនៅក្នុង Web Browser របស់អ្នកប្រើប្រាស់ ។ ដោយហេតុតែវាផ្សេងៗពីគ្នាពី web browser មួយទៅ web browser មួយទៀត ដូចនេះ យើងអាចយកលក្ខណៈរបស់វាទៅបង្កើតជាការ log in ព្រោះការ log in តាមធម្មតា វាតែងផ្សេងៗពី web browser នីមួយៗ ។
កំណត់តម្លៃក្នុង Cookie
ដើម្បីកំណត់តម្លៃចូលទៅក្នុង Cookie យើងត្រូវប្រើ setcookie()
។
តម្រូវការនៃ setcookie()
- ឈ្មោះ ជាឈ្មោះនៃតម្លៃដែលចង់ផ្ទុក ឬយើងអាចគិតថាជា key នៃ array ។
- តម្លៃ ជាតម្លៃនៃឈ្មោះដែលបានកំណត់ខាងលើ ។ តម្លៃដើមគឺ string ទទេ ។
- ពេលផុតកំណត់ ជាវិនាទីដែលតម្លៃខាងលើត្រូវផុតកំណត់ (លុបចោល) ដែលវិនាទីនោះ គឺរាប់ចាប់ពីកាលបរិច្ឆេទ 10/10/1997 00:00:00Z មកដល់ពេលដែលយើងចង់ឲ្យវាផុតកំណត់ ។ ឧទាហរណ៍ បើចង់ឲ្យផុតកំណត់១សប្ដាហ៍ទៀត យើងអាចសរសេរ
time()*7*24*60*60
(time()
គឺចាប់ពេលបច្ចុប្បន្នគិតជាវិនាទី រាប់ចាប់ពីកាលបរិច្ឆេទ 10/10/1997 00:00:00Z) ។ តម្លៃដើមគឺ0
។ Web Browser នឹងលុបដោយស្វ័យប្រវត្តិនូវ Cookie ទាំងឡាយណា ដែលផុតកំណត់ ។ - ទីតាំង ជាទីតាំងនៃទំព័រ ដែលចង់ឲ្យតម្លៃខាងលើ អាចប្រើបាន ។ បើកំណត់
/
មានន័យថា ប្រើបានគ្រប់កន្លែង ។ បើកំណត់/html/
មានន័យថា ប្រើបានក្នុងទំព័រ/html/
នោះ និងទំព័រដែលជាកូននៃទំព័រនោះ ដូចជា/html/basic
។ តម្លៃដើមគឺ/
។ - domain ជា domain ដែលតម្លៃខាងលើ អាចប្រើបាន ។ បើកំណត់
khode.academy
មានន័យថា ប្រើបានគ្រប់ domain ដែលទាក់ទងនឹងkhode.academy
មានន័យថា ទោះបីtest.khode.academy
ក៏អាចប្រើបានដែរ ។ បើកំណត់test.khode.academy
គឺបានតែ sub domain មួយនោះប៉ុណ្ណោះ ។ តម្លៃដើមគឺ string ទទេ ។ - ប្រព័ន្ធសុវត្ថិភាព (តម្លៃដើមគឺ
false
)true
មានន័យថា ប្រើបានតែជាមួយhttps
ប៉ុណ្ណោះ ។false
មានន័យថា ទោះhttp
ក៏ប្រើបានដែរ ។
- 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);
?>