Professional Documents
Culture Documents
Lec 10
Mohammed
1
اﻟﻜﻮﻛﻴﺰ cookies
ﺗﻌﺘﺒﺮ ﻣﻠﻔﺎت ﺻﻐﻴﺮه ﻳﺤﺘﻔﻆ ﻓﻴﻬﺎ اﻟﺴﻴﺮﻓﺮ ﻓﻲ ﺟﻬﺎز
اﻟﻌﻤﻴﻞ،وﻓﻲ ﻛﻞ ﻣﺮه ﻳﺮﺳﻠﻬﺎ اﻟﺴﻴﺮﻓﺮ إﻟﻰ اﻟﻌﻤﻴﻞ ﻣﻊ ﻛﻞ
ﻃﻠﺐ ﻣﻦ ﻋﻤﻴﻞ ﻟﻠﺴﻴﺮﻓﺮ.
3
اﻟﻜﻮﻛﻴﺰ cookies
ﻋﻨﺪﻣﺎ ﻳﺘﻢ ﻃﻠﺐ اﻟﺼﻔﺤﺔ ﻓﻲ ﻣﺮة آﺧﺮي ﻳﻘﻮم اﻟﻤﺴﺘﻌﺮض
ً
ﺳﺎﺑﻘﺎ ﻋﻨﺪ ﻃﻠﺐ ﺑﺎرﺳﺎل اﻟﺒﻴﺎﻧﺎت اﻟﺘﻲ ﺗﻢ إﻧﺸﺎؤﻫﺎ
اﻟﺼﻔﺤﻪ .
4
اﻧﺸﺎء اﻟﻜﻮﻛﻴﺰ Create Cookies With PHP
PHP
ﺗﺄﺗﻲ ﺑﺪﻋﻢ ﻛﺎﻣﻞ ﻟﻠﻜﻮﻛﻴﺰ ﺑﻮاﺳﻄﺔ اﻟﺪاﻟﺔ)( setcookie
ﺑﺎﺳﺘﺜﻨﺎء أﻧﻚ ﻋﻨﺪ اﺳﺘﻌﻤﺎﻟﻬﺎ ﻳﺠﺐ اﺳﺘﻌﻤﺎﻟﻬﺎ ﻗﺒﻞ ﻃﺒﺎﻋﺔ
أي ﻣﺨﺮﺟﺎت . html
5
setcookie()
: اﻟﺪاﻟﺔ
setcookie()
اﻟﺼﻴﻐﺔ اﻟﻌﺎﻣﺔ
Syntax:
setcookie(name, value, expire, path, domain,
secure, httponly);
6
)(setcookie
ﺗﺎﺧﺬ اﻟﺪاﻟﺔ setcookieﺛﻼث ﻣﻌﺎﻣﻼت ،اﻟﺜﻼﺛﺔ اﻷوﻟﻰ
ً
اﺳﺘﺨﺪاﻣﺎ وﻫﻲ ﺑﺎﻟﺘﺮﺗﻴﺐ : ﻫﻲ اﻷﻫﻢ واﻷﻣﺜﻞ
ﻗﻴﻤﺔ ﺣﺮﻓﻴﺔ ﻳﺘﻢ ﺗﺨﺰﻳﻨﻬﺎ ﻛﺎﺳﻢ ﻟﻠﻤﺘﻐﻴﺮ
ﻗﻴﻤﺔ ﺣﺮﻓﻴﺔ ﻳﺘﻢ ﺗﺨﺰﻳﻨﻬﺎ ﻛﻘﻴﻤﺔ ﻟﺬﻟﻚ اﻟﻤﺘﻐﻴﺮ
اﻟﺬي ﻳﻘﻮم ﺑﺎﻹﺷﺎرة إﻟﻰ ﺗﺎرﻳﺦ إﻧﺘﻬﺎء Unix timestamp
7
)(setcookie
اﻟﺜﻼث اﻟﻌﻮاﻣﻞ اﻷﺧﺮي اﻟﺘﻲ ﻳﺘﻢ ﺳﺘﺨﺪاﻣﻬﺎ أﻳﻀﺎ ﻓﻲ اﻟﻜﻮﻛﻴﺰ وﻟﻜﻨﻬﺎ
ﻧﺎدرة اﻻﺳﺘﺨﺪام وﻫﻲ :
اﻟﻤﺴﺎر اﻟﺬي ﻳﺘﻢ إرﺳﺎل اﻟﻜﻮﻛﻴﺰ إﻟﻴﻪ ﻓﻠﻮ ﺗﻢ ﻓﺘﺢ ﻧﻔﺲ اﻟﺼﻔﺤﺔ ﻣﻦ ﻧﻔﺲ
ﻼ اﻟﻤﺴﺎر ﻛﺎن pag\url\oneوﺗﻢ اﻟﻤﻮﻗﻊ وﻟﻜﻦ ﻣﻦ ﻣﺴﺎر اﺧﺮ ) ﻣﺜ ً
ﺗﻐﻴﻴﺮه إﻟﻰ page\url\twoﻓﺎن اﻟﻤﺴﺘﻌﺮض ﻟﻦ ﻳﻘﻮم ﺑﺎرﺳﺎل اﻟﺒﻴﺎﻧﺎت
إﻟﻲ اﻟﺼﻔﺤﺔ ﻷﻧﻪ ﺗﻢ ﺗﺤﺪﻳﺪ اﻟﻤﺴﺎر اﻟﺬي ﺳﻴﺘﻢ ارﺳﺎل اﻟﻜﻮﻛﻴﺰ اﻟﻴﻪ (
اﻟﺪوﻣﻴﻦ اﻟﺬي ﺳﻴﺘﻢ إرﺳﺎل اﻟﺒﻴﺎﻧﺎت إﻟﻴﻪ وﻫﻮ ﻣﻔﻴﺪ ﻓﻲ ﺣﺎﻟﺔ ﻣﺎ إذا ﻛﺎن
ﻫﻨﺎك أﻛﺜﺮ ﻣﻦ دوﻣﻴﻦ ﺗﺮﻳﺪ ارﺳﺎل اﻟﻜﻮﻛﻴﺰ اﻟﻴﻪ
8
""/
ﺗﻌﻨﻲ ان اﻟﻜﻮﻛﻴﺰ
ﻣﺘﻮﻓﺮه ﻓﻲ ﻛﻞ
اﻟﻤﻮﻗﻊ
9
اﺳﺘﺮﺟﺎع اﻟﻜﻮﻛﻴﺰ
ﻳﻤﻜﻦ اﺳﺘﺮﺟﺎع ﻣﻌﻠﻮﻣﺎت اﻟﻜﻮﻛﻴﺰ ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﺘﻐﻴﺮ اﻟﻌﺎم
global variable $_COOKIE
أو ﻋﻦ ﻃﺮﻳﻖ اﻟﺪاﻟﺔ)( issetﻟﻠﺘﺄﻛﺪ ﻣﻦ وﺟﻮد اﻟﻜﻮﻛﻴﺰ
10
ﺗﻌﺪﻳﻞ ﻗﻴﻤﻪ اﻟﻜﻮﻛﻴﺰ Modify a Cookie
Value
ﻳﺘﻢ ذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﻋﺎده اﺳﺘﺨﺪام اﻟﺪاﻟﺔ ﻧﻔﺴﻬﺎ وﻟﻜﻦ
ﺑﺎﻟﻘﻴﻢ اﻟﺠﺪﻳﺪة
11
ﺣﺬف اﻟﻜﻮﻛﻴﺰ Delete a Cookie
ﻳﺘﻢ اﺳﺘﺨﺪام ﻧﻔﺲ اﻟﺪاﻟﺔ ،setcookieوﻟﻜﻦ ﺑﺘﺤﺪﻳﺪ
وﻗﺖ إﻧﺘﻬﺎء اﻟﻜﻮﻛﻴﺰ
12
php اﻟﺠﻠﺴﺎت ﻓﻲ
PHP SESSIONS
13
ﻳﺴﺘﺨﺪم اﻟـ sessionﻟﻌﻤﻞ ﻣﻴﻜﺎﻧﻴﻜﻴﺔ ﺗﻮاﺻﻞ ﺑﻴﻦ اﻟﻤﺴﺘﺨﺪم
واﻟﺴﻴﺮﻓﺮ.
ان اﻟـ httpﻻ ﻳﻮﻓﺮ ﻟﻨﺎ ﻣﻴﻜﺎﻧﻴﻜﻴﺔ ﻟﻌﻤﻞ ﺗﻮاﺻﻞ ،ﻓﺈذا ﻃﻠﺐ
اﻟﻤﺴﺘﺨﺪم ﺻﻔﺤﺔ ﻣﻦ اﻟﺴﻴﺮﻓﺮ ﻓﺈن اﻟﺴﻴﺮﻓﺮ ﻳﻘﻮم ﺑﺈﻋﻄﺎﺋﻪ ﻣﺎ
أراد وﻳﻨﺘﻬﻲ ﻋﻨﺪ ذﻟﻚ ﻓﻼ ﻳﻌﺮف إن ﻛﺎن ﻫﻮ ﻧﻔﺲ اﻟﻤﺴﺘﺨﺪم أو
ﻟﻴﺲ ﻫﻮ .
ﻷﺟﻞ ذﻟﻚ ﺗﻢ اﻧﺸﺎء ﺗﻘﻨﻴﺔ اﻟـ sessionﻷﺟﻞ ﻋﻤﻞ ﺗﻘﻨﻴﺔ
ﺗﻮاﺻﻞ ﺑﻴﻦ اﻟﻤﺴﺘﺨﺪم واﻟﻤﻮﻗﻊ ،ﻓﺒﺈﺳﺘﻄﺎﻋﺘﻚ ﻣﺜ ً
ﻼ أن ﺗﻘﻮم
ﺑﺘﺤﺪﻳﺪ ﻋﺪد زﻳﺎرات ﻣﺴﺘﺨﺪم ﻣﻌﻴﻦ ﻟﺼﻔﺤﺘﻚ ﻟﻴﻮم واﺣﺪ أو
ﻷﺳﺒﻮع أو ﻟﻤﺪة ﻣﻌﻴﻨﺔ ﻣﻦ اﻟﻮﻗﺖ
14
ﻋﻠﻰ ﻋﻜﺲ اﻟﻜﻮﻛﻴﺰ ﻓﺈن ﺑﻴﺎﻧﺎت اﻟﺠﻠﺴﺎت ﻻ ﺗﺨﺰن ﻋﻨﺪ
اﻟﻌﻤﻴﻞ.
15
ﻳﺘﻢ اﻧﺸﺎء اﻟﺠﻠﺴﺎت ﻋﻦ ﻃﺮﻳﻖ اﻟﺪاﻟﺔ)( session_start
ﻣﺘﻐﻴﺮات اﻟﺠﻠﺴﺎت ﻳﺘﻢ ﺣﻔﻈﻬﻢ ﻓﻲ اﻟﻤﺘﻐﻴﺮ اﻟﻌﺎم
SESSION_$
16
17
Get PHP Session Variable Values
18
ﺗﻌﺪﻳﻞ Modify a PHP Session Variable
ﺑﻴﺎﻧﺎت اﻟﺠﻠﺴﺎت
ﻓﻘﻂ ﻳﺘﻢ إﻋﺎدة ﻛﺘﺎﺑﺔ اﻟﺪاﻟﺔ ﻣﺮه اﺧﺮى
19
إﻧﻬﺎء اﻟﺠﻠﺴﺎت Destroy a PHP Session
20
21
22