ﺩﺭﺱ ﺳﻮﻡ - ﺁﺷﻨﺎﻳﯽ ﺑﺎ ﺷﺮﻁ ﻫﺎ ﻭ ﻋﻤﻠﮕﺮﻫﺎ

درسنامه/ ﺩﻭﺭﻩ ﺁﻣﻮﺯﺷﯽ ﻣﻘﺪﻣﺎﺗﯽ ﭘﯽ ﺍﭺ ﭘﯽ (PHP)
ﭘﯽ ﺍﭺ ﭘﯽ (PHP)

ﺩﺭ ﺩﺭﺱ ﻗﺒﻠﯽ ﺑﺎ ﭼﮕﻮﻧﮕﯽ ﺳﺎﺧﺖ ﻓﺮﻡ ﺩﺭ ﺍﭺ ﺗﯽ ﺍﻡ ﺍﻝ ﻭ ﺍﺭﺗﺒﺎﻁ ﺁﻥ ﺑﺎ ﭘﯽ ﺍﭺ ﭘﯽ ﺑﺮﺍﯼ ﺍﻧﺘﻘﺎﻝ ﺩﺍﺩﻩ ﻭ ﮐﺎﺭ ﺑﺎ ﺁﻥ ﺁﺷﻨﺎ ﺷﺪﻳﻢ. ﻧﮑﺘﻪ ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺍﻳﻦ ﺍﺳﺖ ﮐﻪ ﺍﮔﺮ ﮐﺎﺭﺑﺮ ﺩﺭ ﺩﺍﺧﻞ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﮐﺎﺩﺭﻫﺎﯼ ﺗﻌﻴﻴﻦ ﺷﺪﻩ ﺩﺭ ﻓﺮﻡ ﻣﻄﻠﺒﯽ ﻧﻨﻮﻳﺴﺪ٬ ﺑﺎﺯ ﻓﺮﻡ ﺍﺭﺟﺎﻉ ﺩﺍﺩﻩ ﺧﻮﺍﻫﺪ ﺷﺪ ﻭ ﺟﺎﯼ ﺁﻥ ﮐﺎﺩﺭ ﺧﺎﻟﯽ ﺑﺎﻗﯽ ﻣﯽ ﻣﺎﻧﺪ.
ﺣﺎﻝ ﻣﯽ ﺧﻮﺍﻫﻴﻢ ﺑﻪ ﺁﺷﻨﺎﻳﯽ ﺷﺮﻁ ﻫﺎ ﺑﭙﺮﺩﺍﺯﻳﻢ ﻭ ﺍﺯ ﺁﻧﻬﺎ ﺑﺮﺍﯼ ﺍﺭﺯﻳﺎﺑﯽ ﻓﺮﻡ ﻭ ﮐﺎﺩﺭﻫﺎﻳﺶ ﺑﻬﺮﻩ ﺑﺒﺮﻳﻢ ﺑﻪ ﻃﻮﺭﯼ ﮐﻪ ﺍﮔﺮ ﮐﺎﺩﺭﯼ ﺗﻮﺳﻂ ﮐﺎﺭﺑﺮ ﺧﺎﻟﯽ ﻣﺎﻧﺪ، ﺳﻴﺴﺘﻢ  ﻫﺸﺪﺍﺭﯼ ﺑﺪﻫﺪ ﺗﺎ ﺁﻥ ﮐﺎﺩﺭ ﭘﺮ ﺷﻮﺩ.
ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﻣﻬﻢ ﻻﺯﻡ ﺍﺳﺖ ﮐﻪ ﺍﺯ ﺗﻮﺍﺑﻊ ﺷﺮﻃﯽ ﻭ ﻋﻤﻠﮕﺮﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﻴﻢ ﮐﻪ ﻣﻮﺿﻮﻉ ﺍﻳﻦ ﺩﺭﺱ ﺍﺳﺖ.

ﺁﺷﻨﺎﻳﯽ ﺑﺎ ﺷﺮﻁ ﻫﺎ ﻭ ﻋﻤﻠﮕﺮﻫﺎ
ﺷﺮﻁ ﺩﺭ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﯽ ﺑﻪ ﺯﺑﺎﻥ ﺳﺎﺩﻩ، ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﻳﮏ ﺷﺮﻁ ﺑﺮﺍﯼ ﺍﻧﺠﺎﻡ ﻋﻤﻠﯽ ﺍﺳﺖ. ﻣﺎ ﺩﺭ ﺯﺑﺎﻥ ﺭﻭﺯﻣﺮﻩ ﺑﺎﺭﻫﺎ ﺩﺭ ﻣﻮﻗﻌﻴﺖ ﻫﺎﯼ ﻣﺘﻔﺎﻭﺕ ﺍﺯ ﺁﻧﻬﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ ﮐﻨﻴﻢ. ﺑﻪ ﻃﻮﺭ ﻣﺜﺎﻝ «ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ» (ﺷﺮﻁ) «ﻣﺎ ﺑﻪ ﮔﺮﺩﺵ ﻧﺨﻮﺍﻫﻴﻢ ﺭﻓﺖ» (ﻋﻤﻞ ﻣﺮﺗﺒﻂ ﺑﻪ ﺷﺮﻁ).
ﺍﻳﻦ ﻳﮏ ﺷﺮﻁ ﺍﺳﺖ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺷﺮﻁ٬ ﻋﻤﻞ ﺑﻌﺪ ﺍﺯ ﺁﻥ «ﻧﺮﻓﺘﻦ ﺑﻪ ﮔﺮﺩﺵ» ﺍﺗﻔﺎﻕ ﻣﯽ ﺍﻓﺘﺪ. ﺍﻟﺒﺘﻪ ﺍﻳﻦ ﻓﻘﻂ ﻳﮏ ﺷﺮﻁ ﺑﻮﺩ. ﻣﺎ ﻣﯽ ﺗﻮﺍﻧﻴﻢ ﭼﻨﺪ ﺷﺮﻁ ﺭﺍ ﺗﻌﻴﻴﻦ ﮐﻨﻴﻢ ﻭ ﻳﺎ ﺍﺯ ﺷﺮﻁ ﻫﺎﯼ ﺗﻮ ﺩﺭ ﺗﻮ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﻴﻢ. ﺑﻪ ﻣﺜﺎﻝ ﻗﺒﻠﯽ ﺍﺯ ﺍﻳﻦ ﻣﻨﻈﺮ ﻧﮕﺎﻩ ﮐﻨﻴﺪ: «ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ» ﻭ «ﺍﮔﺮ ﻣﺎﺷﻴﻦ ﻧﺪﺍﺷﺘﻪ ﺑﺎﺷﻴﻢ» (ﺩﻭ ﺷﺮﻁ) «ﺑﻪ ﮔﺮﺩﺵ ﻧﺨﻮﺍﻫﻴﻢ ﺭﻓﺖ».
ﺧﺐ ﺑﺎ ﺍﻳﻦ ﻣﺜﺎﻝ ﻫﺎ ﻓﮑﺮ ﻣﯽ ﮐﻨﻴﻢ ﮐﻪ ﺑﻪ ﻣﻨﻈﻮﺭ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺷﺮﻁ ﻫﺎ ﭘﯽ ﺑﺮﺩﻳﺪ. ﻧﺤﻮﻩ ﮐﺎﺭ ﺑﺎ ﺷﺮﻁ ﻫﺎ ﺩﺭ ﺯﺑﺎﻥ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﯽ ﻫﻢ ﺩﻗﻴﻘﺎ ﻣﺜﻞ ﻫﻤﺎﻥ ﻣﺜﺎﻝ ﺑﺎﻻﺳﺖ ﺑﺎ ﺍﻳﻦ ﺗﻔﺎﻭﺕ ﮐﻪ ﺩﺭ ﺯﺑﺎﻥ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﯽ ﻣﺎ ﺍﻳﻦ «ﺍﮔﺮﻫﺎ» ﺭﺍ ﺗﺒﺪﻳﻞ ﺑﻪ ﻋﺒﺎﺭﺗﯽ ﻣﯽ ﮐﻨﻴﻢ ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﺁﻥ ﺭﺍ ﺑﻔﻬﻤﺪ.
ﻣﻬﻤﺘﺮﻳﻦ ﻋﺒﺎﺭﺍﺗﯽ ﮐﻪ ﺩﺭ ﺳﺎﺧﺖ ﺷﺮﻁ ﻫﺎ ﺍﺯ ﺁﻧﻬﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ ﮐﻨﻴﻢ if ﻭ else ﻭ else if ﻫﺴﺘﻨﺪ.
if: ﻫﻤﺎﻥ «ﺍﮔﺮ» ﺧﻮﺩﻣﺎﻥ ﺍﺳﺖ.
else: ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ
else if: ﻣﻌﻨﯽ ﺁﻥ ﻣﯽ ﺷﻮﺩ٬ ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ ﺍﮔﺮ
ﺷﺮﻭﻉ ﮐﺎﺭ ﺍﺯ ﻋﺒﺎﺭﺕ if ﺍﺳﺖ٬ ﺑﻌﺪ ﺍﺯ ﺁﻥ ﺷﺮﻁ ﻣﺎ ﻗﺮﺍﺭ ﻣﯽ ﮔﻴﺮﺩ ﺍﻟﺒﺘﻪ ﺩﺭ ﭘﺮﺍﻧﺘﺰ٬ ﺑﻪ ﺩﻧﺒﺎﻝ ﺁﻥ ﻫﻢ ﻋﻤﻞ ﻫﺎﻳﯽ ﮐﻪ ﻣﯽ ﺧﻮﺍﻫﻴﻢ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﻳﺎ ﻧﺎﺩﺭﺳﺘﯽ ﺷﺮﻁ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺪ.

if(ﺷﺮﻁ) {
//ﻋﻤﻠﯽ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﺷﻮﺩ
}

ﺧﺐ ﺣﺎﻻ ﮐﻤﯽ ﺑﺎ ﺷﺮﻁ ﻫﺎ ﺁﺷﻨﺎ ﺷﺪﻳﻢ ﺍﻣﺎ ﻗﺒﻞ ﺍﺯ ﺑﻴﺸﺘﺮ ﻭﺍﺭﺩ ﺷﺪﻥ ﺑﻪ ﺑﺤﺚ ﺷﺮﻁ ﻫﺎ ﻻﺯﻡ ﺍﺳﺖ ﮐﻪ ﻣﺎ ﺑﺎ ﻋﻤﻠﮕﺮﻫﺎ ﻫﻢ ﺁﺷﻨﺎ ﺷﻮﻳﻢ.

ﻋﻤﻠﮕﺮﻫﺎ ﺩﺭ ﺍﺻﻞ ﻋﺒﺎﺭﺍﺗﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﺩﺭﻭﻥ ﭘﺮﺍﻧﺘﺰ ﺑﻌﺪ ﺍﺯ if ﻗﺮﺍﺭ ﻣﯽ ﮔﻴﺮﻧﺪ ﺗﺎ ﺷﺮﻁ ﻣﺎ ﺭﺍ ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﮐﻨﻨﺪ. ﺩﺭ ﺯﻳﺮ ﺑﻪ ﻟﻴﺴﺖ ﻋﻤﻠﮕﺮﻫﺎ ﻭ ﮐﺎﺭﺍﻳﯽ ﺁﻧﻬﺎ ﺗﻮﺟﻪ ﮐﻨﻴﺪ:
- ﻋﻤﻠﮕﺮﻫﺎﯼ ﻣﻘﺎﻳﺴﻪ ﺍﯼ: ﺍﻳﻦ ﺩﺳﺘﻪ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮﺍﺑﺮﯼ ﺩﻭ ﻃﺮﻑ ﻋﻤﻠﮕﺮ ﺭﺍ ﻣﻘﺎﻳﺴﻪ ﻣﯽ ﮐﻨﻨﺪ:
== : ﺑﺮﺍﯼ ﺍﺭﺯﻳﺎﺑﯽ ﺑﺮﺍﺑﺮﯼ ﺩﻭ ﻃﺮﻑ ﻋﻤﻠﮕﺮ ﺍﺳﺖ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺑﺮﺍﺑﺮﯼ ﭘﺎﺳﺦ ﺩﺭﺳﺖ ﻣﯽ ﺷﻮﺩ.
=! : ﺍﻳﻦ ﻋﻤﻠﮕﺮ ﻋﺪﻡ ﺑﺮﺍﺑﺮﯼ ﺩﻭ ﻃﺮﻑ ﺭﺍ ﺑﺮﺭﺳﯽ ﻣﯽ ﮐﻨﺪ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺑﺮﺍﺑﺮ ﻧﺒﻮﺩﻥ ﭘﺎﺳﺦ ﺩﺭﺳﺖ ﺍﺳﺖ.
< : ﺍﻳﻦ ﻋﻼﻣﺖ ﮐﻮﭼﮏ ﺗﺮ ﺍﺳﺖ، ﻳﻌﻨﯽ ﺍﮔﺮ ﻃﺮﻑ ﭼﭗ ﮐﻮﭼﮏ ﺗﺮ ﺍﺯ ﻃﺮﻑ ﺭﺍﺳﺖ ﻋﻤﻠﮕﺮ ﺍﺳﺖ، ﭘﺎﺳﺦ ﺩﺭﺳﺖ ﻣﯽ ﺷﻮﺩ.
> : ﺍﻳﻦ ﺩﺭﺳﺖ ﺑﺮﻋﮑﺲ ﮐﻮﭼﮏ ﺗﺮ ﻳﻌﻨﯽ ﺑﺰﺭﮒ ﺗﺮ ﺍﺳﺖ. ﺩﺭ ﺻﻮﺭﺗﯽ ﮐﻪ ﻃﺮﻑ ﭼﭗ ﻋﻤﻠﮕﺮ ﺑﺰﺭﮒ ﺗﺮ ﺑﺎﺷﺪ، ﭘﺎﺳﺦ ﺩﺭﺳﺖ ﻣﯽ ﺷﻮﺩ.
<= : ﮐﻮﭼﮏ ﺗﺮ ﻳﺎ ﻣﺴﺎﻭﯼ٬ ﻫﺮ ﺩﻭ ﺻﻮﺭﺕ ﺑﺮﺭﺳﯽ ﻣﯽ ﺷﻮﺩ.
>= : ﺑﺰﺭﮒ ﺗﺮ ﻳﺎ ﻣﺴﺎﻭﯼ.

ﻋﻤﻠﮕﺮﻫﺎﯼ ﻣﻨﻄﻘﯽ: ﻋﻤﻠﮕﺮﻫﺎﯼ ﻣﻨﻄﻘﯽ ﻋﺒﺎﺭﺍﺕ ﺭﺍ ﺑﺮﺍﺳﺎﺱ ﻣﻨﻄﻖ ﺑﺮﺭﺳﯽ ﻣﯽ ﮐﻨﻨﺪ:
! : ﺍﻳﻦ ﻋﻤﻠﮕﺮ ﻋﺒﺎﺭﺕ ﺭﺍ ﻣﻨﻔﯽ ﻳﺎ ﺑﺮﻋﮑﺲ ﻣﯽ ﮐﻨﺪ ﻣﺜﻼ ﺩﺭﺳﺖ ﻣﯽ ﺷﻮﺩ ﻏﻠﻂ
&& : ﺍﻳﻦ ﻫﻤﺎﻥ «ﻭ» ﺧﻮﺩﻣﺎﻥ ﺍﺳﺖ٬ ﺯﻣﺎﻧﯽ ﺍﻳﻦ ﻋﻤﻠﮕﺮ ﻧﺘﻴﺠﻪ ﺩﺭﺳﺖ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﺩﻭ ﻃﺮﻑ ﺁﻥ ﺑﺮﺭﺳﯽ ﺷﻮﺩ. ﻣﺜﻼ ﺍﮔﺮ x=5 ﻭ y=7 ﺑﺎﺷﺪ، ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﻫﺮ ﺩﻭ ﻋﺒﺎﺭﺕ، ﺧﺮﻭﺟﯽ ﺻﺤﻴﺢ ﻣﯽ ﺷﻮﺩ.
|| : ﺍﻳﻦ ﻫﻤﺎﻥ «ﻳﺎ» ﻣﯽ ﺷﻮﺩ. ﺩﺭ ﺍﻳﻦ ﻋﻤﻠﮕﺮ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﺩﻭ ﻃﺮﻑ ﺩﺭﺳﺖ ﺑﺎﺷﺪ، ﭘﺎﺳﺦ ﺻﺤﻴﺢ ﻣﯽ ﺷﻮﺩ. ﻣﺜﻼ ﺍﮔﺮ x=5 ﻳﺎ y=7 ﺷﻮﺩ، ﻫﺮ ﮐﺪﺍﻡ ﺩﺭﺳﺖ ﺑﺎﺷﺪ، ﭘﺎﺳﺦ ﺻﺤﻴﺢ ﻣﯽ ﺷﻮﺩ.
XOR: ﺧﺮﻭﺟﯽ ﺍﻳﻦ ﻋﻤﻠﮕﺮ ﺯﻣﺎﻧﯽ ﺩﺭﺳﺖ ﺍﺳﺖ ﮐﻪ ﻓﻘﻂ ﻳﮑﯽ ﺍﺯ ﺩﻭ ﻃﺮﻑ ﺩﺭﺳﺖ ﺑﺎﺷﺪ. ﺍﮔﺮ ﻫﺮ ﺩﻭ ﻃﺮﻑ ﺩﺭﺳﺖ ﻳﺎ ﻫﺮ ﺩﻭ ﻃﺮﻑ ﻧﺎﺩﺭﺳﺖ ﺑﺎﺷﻨﺪ٬ ﺧﺮﻭﺟﯽ ﻣﯽ ﺷﻮﺩ ﻧﺎﺻﺤﻴﺢ.
ﻧﮕﺮﺍﻥ ﻧﺒﺎﺷﻴﺪ؛ ﻣﺎ ﺑﺎ ﻣﺜﺎﻝ ﻫﺎﯼ ﻓﺮﺍﻭﺍﻥ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﻋﻤﻠﮕﺮﻫﺎ ﻭ ﺷﺮﻁ ﻫﺎ ﺭﺍ ﺑﻪ ﻃﻮﺭ ﻣﻔﺼﻞ ﺷﺮﺡ ﺧﻮﺍﻫﻴﻢ ﺩﺍﺩ. ﺣﺎﻝ ﺍﺟﺎﺯﻩ ﺑﺪﻫﻴﺪ ﺍﻳﻦ ﺭﺍ ﺑﺎ ﺧﻮﺩ ﻋﺒﺎﺭﺍﺕ ﺷﺮﻃﯽ ﺑﻴﺸﺘﺮ ﺗﻮﺿﻴﺢ ﺩﻫﻴﻢ. ﺍﺯ ﺗﮏ ﺷﺮﻁ ﺷﺮﻭﻉ ﻣﯽ ﮐﻨﻴﻢ:

if(ﺷﺮﻁ) {
//ﻋﻤﻠﯽ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﺷﻮﺩ
}

ﺍﻳﻦ ﻳﮏ ﻭﺿﻌﻴﺖ ﺗﮏ ﺷﺮﻃﯽ ﺍﺳﺖ ﮐﻪ ﺗﻨﻬﺎ ﺍﮔﺮ ﺷﺮﻁ ﺩﺭﺳﺖ ﺑﺎﺷﺪ، ﺍﻧﺠﺎﻡ ﻣﯽ ﺷﻮﺩ. ﻣﺜﻼ:

if(ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ) {
ﻣﺎ ﺑﻪ ﮔﺮﺩﺵ ﻧﻤﯽ ﺭﻭﻳﻢ
}

ﻳﺎ ﻣﺜﻼ ﺍﮔﺮ ﻣﻘﺪﺍﺭ x ﺑﺎ ﻣﻘﺪﺍﺭ y ﺑﺮﺍﺑﺮ ﺑﻮﺩ٬ x  ﺭﺍ ﭼﺎﭖ ﮐﻦ:

if($x== $y) {
print $x;
}

ﺷﺮﻁ ﻫﻤﺮﺍﻩ ﺑﺎ  else:

if (ﺷﺮﻁ) {
//ﻋﻤﻠﯽ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﺷﻮﺩ
}
else {
// ﻋﻤﻞ ﺩﻳﮕﺮﯼ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺪ
}

ﺍﻳﻦ ﻳﮏ ﻋﺒﺎﺭﺕ ﺷﺮﻃﯽ ﺑﺎ ﻳﮏ ﺷﺮﻁ  ﻫﻤﺮﺍﻩ ﺩﻭ ﻋﻤﻞ ﺍﺳﺖ. ﺍﻳﻦ ﻋﺒﺎﺭﺕ ﻣﯽ ﮔﻮﻳﺪ ﺍﮔﺮ ﺷﺮﻁ ﺩﺭﺳﺖ ﺑﻮﺩ، ﺍﻳﻦ ﻋﻤﻞ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺪ، ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ ﻋﻤﻞ ﺩﻳﮕﺮﯼ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺪ. ﻓﺮﻕ ﺍﻳﻦ ﺷﺮﻁ ﺑﺎ ﻗﺒﻠﯽ ﺍﻳﻦ ﺍﺳﺖ ﮐﻪ ﻣﺎ ﺍﺯ else ﺑﺮﺍﯼ ﺯﻣﺎﻧﯽ ﮐﻪ ﺷﺮﻁ ﻧﺎﺩﺭﺳﺖ ﺑﻮﺩ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩﻳﻢ. ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﺩﺭ ﻣﺜﺎﻝ ﻗﺒﻠﯽ ﺍﮔﺮ ﺷﺮﻁ ﻧﺎﺩﺭﺳﺖ ﺑﻮﺩ، ﻫﻴﭻ ﺍﺗﻔﺎﻗﯽ ﻧﻤﯽ ﺍﻓﺘﺪ ﺍﻣﺎ ﺩﺭ ﺍﻳﻦ ﻣﺜﺎﻝ ﺩﺭ ﺻﻮﺭﺕ ﻧﺎﺩﺭﺳﺘﯽ ﺷﺮﻁ، ﻳﮏ ﻋﻤﻞ ﺩﻳﮕﺮ ﺍﺗﻔﺎﻕ ﻣﯽ ﺍﻓﺘﺪ.

if (ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ) {
ﺑﻪ ﮔﺮﺩﺵ ﻧﻤﻴﺮﻭﻳﻢ
}
else {   // ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ
ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ
}

ﺣﺎﻝ ﻣﺜﺎﻝ ﺭﺍ ﺑﺎ ﻣﺘﻐﻴﺮﻫﺎ ﺍﻧﺠﺎﻡ ﻣﯽ ﺩﻫﻴﻢ ﮐﻪ ﺍﮔﺮ ﺷﺮﻁ ﺩﺭﺳﺖ ﺑﻮﺩ ﻳﮑﯽ ﺭﺍ ﭼﺎﭖ ﮐﻨﺪ ﻭ ﺍﮔﺮ ﺷﺮﻁ ﻧﺎﺩﺭﺳﺖ ﺑﻮﺩ ﺩﻳﮕﺮﯼ ﺭﺍ.

if ($x == $y) {
print $x ;
}
else {
print $y ;
}

ﺩﺭ ﻣﺜﺎﻝ ﺗﮏ ﺷﺮﻃﯽ ﻣﺎ ﻓﻘﻂ ﺑﻪ ﺑﺎﺭﺍﻥ ﺁﻣﺪﻥ ﺗﻮﺟﻪ ﮐﺮﺩﻳﻢ ﮐﻪ ﺍﮔﺮ ﺑﻴﺎﻳﺪ ﺑﻪ ﮔﺮﺩﺵ ﻧﻤﯽ ﺭﻭﻳﻢ ﻳﺎ ﺍﮔﺮ ﺩﻭ ﻣﻘﺪﺍﺭ ﻣﺘﻐﻴﺮﻫﺎ ﺑﺮﺍﺑﺮ ﺑﻮﺩ، ﻳﮑﯽ ﺭﺍ ﭼﺎﭖ ﮐﻨﺪ. ﺍﻣﺎ ﺍﻳﻨﺠﺎ ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ ﻧﻤﯽ ﺭﻭﻳﻢ ﻭ ﺍﮔﺮ ﻧﻴﺎﻳﺪ ( ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ) ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ. ﻭ ﺩﺭ ﻣﺜﺎﻝ ﺍﮔﺮ ﻣﺘﻐﻴﺮﻫﺎ ﺑﺮﺍﺑﺮ ﺑﻮﺩﻧﺪ، x ﺭﺍ ﭼﺎﭖ ﮐﻦ٬ ﺍﮔﺮ ﺑﺮﺍﺑﺮ ﻧﺒﻮﺩﻧﺪ،  y ﺭﺍ ﭼﺎﭖ ﮐﻦ.

ﭼﻨﺪ ﺷﺮﻃﯽ
ﺣﺎﻻ ﻓﺮﺽ ﮐﻨﻴﺪ ﻣﯽ ﺧﻮﺍﻫﻴﻢ ﺷﺮﻁ ﻫﺎﻳﯽ ﺭﺍ ﺑﻪ ﻃﻮﺭ ﭘﺸﺖ ﺳﺮ ﻫﻢ ﻗﺮﺍﺭ ﺩﻫﻴﻢ. ﺗﻮﺟﻪ ﮐﻨﻴﺪ:

if (ﺷﺮﻁ) {
//ﻋﻤﻠﯽ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﺷﻮﺩ
}
else if ( ﺷﺮﻃﯽ ﺩﻳﮕﺮ) {
// ﻋﻤﻞ ﺩﻳﮕﺮﯼ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺪ
}
else {
// ﺩﺭ ﺻﻮﺭﺕ ﺍﺗﻔﺎﻕ ﻧﻴﺎﻓﺘﻦ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﺷﺮﻃﻬﺎﯼ ﺑﺎﻻ ﺍﻳﻦ ﻋﻤﻞ ﺻﻮﺭﺕ ﮔﻴﺮﺩ
}

ﺩﺭ ﺍﻳﻨﮕﻮﻧﻪ ﺷﺮﻁ ﻫﺎ، ﻣﺎ ﺩﻭ ﻳﺎ ﺑﻴﺸﺘﺮ٬ ﺷﺮﻁ ﺩﺍﺭﻳﻢ ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﺍﺑﺘﺪﺍ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ ﺭﺍ ﺑﺮﺭﺳﯽ ﻣﯽ ﮐﻨﺪ٬ ﺍﮔﺮ ﺷﺮﻁ ﺩﺭﺳﺖ ﺑﻮﺩ، ﺍﺗﻔﺎﻕ ﻣﯽ ﺍﻓﺘﺪ ﻭ ﺍﺯ ﺷﺮﻁ ﻫﺎ ﺧﺎﺭﺝ ﻣﯽ ﺷﻮﻳﻢ؛ ﺍﻣﺎ ﺍﮔﺮ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ ﺩﺭﺳﺖ ﻧﺒﻮﺩ، ﺷﺮﻁ ﺩﻭﻡ ﺑﺮﺭﺳﯽ ﻣﯽ ﺷﻮﺩ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﻋﻤﻞ، ﺁﻥ ﺷﺮﻁ ﺍﺗﻔﺎﻕ ﻣﯽ ﺍﻓﺘﺪ. ﺍﻣﺎ ﺍﮔﺮ ﻫﻴﭻ ﮐﺪﺍﻡ ﺍﺯ ﺷﺮﻁ ﻫﺎ ﺩﺭﺳﺖ ﻧﺒﻮﺩ ﺁﺧﺮﻳﻦ ﻋﻤﻞ ﺻﻮﺭﺕ ﻣﯽ ﮔﻴﺮﺩ.

if (ﺑﺎﺭﺍﻥ ﻧﻴﺎﻳﺪ) {
ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ
}
else if ( ﻣﺎﺷﻴﻦ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﻢ) {
ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ
}
else {   // ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ
ﺑﻪ ﮔﺮﺩﺵ ﻧﻤﯽ ﺭﻭﻳﻢ
}

ﺩﺭ ﺍﻳﻦ ﻣﺜﺎﻝ ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﻧﻴﺎﻳﺪ ﻣﺎ ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ ﻭ ﺷﺮﻁ ﺗﻤﺎﻡ ﻣﯽ ﺷﻮﺩ ٬ ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ ﻭ ﺍﮔﺮ ﻣﺎ ﻣﺎﺷﻴﻦ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺑﺎﺯ ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ ﺍﻣﺎ ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ ﻭ ﻣﺎﺷﻴﻦ ﻫﻢ ﻧﺒﺎﺷﺪ ﻧﻤﯽ ﺭﻭﻳﻢ.

if ($x == $y) {
print $x +$y ;
}
else  if ( $x > $y) {
print $x ;
}
else {
print $y ;
}

ﺣﺎﻝ ﺑﻴﺎﻳﻴﺪ ﺑﻪ ﺷﺮﻁ ﻫﺎﯼ ﺗﻮ ﺩﺭ ﺗﻮ ﺑﭙﺮﺩﺍﺯﻳﻢ. ﻧﮕﺮﺍﻥ ﻧﺒﺎﺷﻴﺪ؛ ﻣﺎ ﺑﺮﺍﯼ ﻫﺮ ﮐﺪﺍﻡ ﻣﺜﺎﻝ ﻣﯽ ﺁﻭﺭﻳﻢ ﺗﺎ ﺧﻮﺏ ﺑﺮﺍﯼ ﺷﻤﺎ ﻣﺸﺨﺺ ﮔﺮﺩﺩ.
ﺣﺎﻻ ﻣﯽ ﺧﻮﺍﻫﻴﻢ ﺑﺮﺍﯼ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺎﺩﻥ ﻳﮏ ﻋﻤﻞ ﺩﻭ ﺷﺮﻁ ﺑﮕﺬﺍﺭﻳﻢ٬ ﻣﺜﺎﻝ «ﺍﮔﺮ ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ» ﻭ «ﺍﮔﺮ ﻣﺎﺷﻴﻦ ﻧﺪﺍﺷﺘﻴﻢ» ﻳﺎﺩﺗﺎﻥ ﻫﺴﺖ!

if (ﺷﺮﻁ) {
if (ﺷﺮﻁ) {
//ﻋﻤﻠﯽ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﺷﻮﺩ
  }
             }
else {
// ﻋﻤﻞ ﺩﻳﮕﺮﯼ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺪ
}

ﺑﻪ ﺍﻳﻦ ﮔﻮﻧﻪ ﺍﺯ ﺷﺮﻁ ﮔﺬﺍﺭﯼ ﺷﺮﻁ ﺗﻮ ﺩﺭ ﺗﻮ ﻣﯽ ﮔﻮﻳﻴﻢ٬ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺩﺭﺳﺘﯽ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ٬ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺷﺮﻁ ﺩﺍﺧﻞ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ ﻳﻌﻨﯽ ﺷﺮﻁ ﺩﻭﻡ ﻣﯽ ﺭﻭﺩ٬ ﺍﻣﺎ ﺩﺭ ﺻﻮﺭﺕ ﻧﺎﺩﺭﺳﺘﯽ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ٬ ﺷﺮﻁ ﺩﺍﺧﻞ ﺁﻥ ﺍﺻﻼ ﺑﺮﺭﺳﯽ ﻧﻤﯽ ﺷﻮﺩ ﻭ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺳﺮﺍﻍ else ﻣﯽ ﺭﻭﺩ.

if (ﺑﺎﺭﺍﻥ ﺑﻴﺎﻳﺪ) {
if ( ﻣﺎﺷﻴﻦ ﻧﺪﺍﺷﺘﻪ ﺑﺎﺷﻴﻢ) {
ﺑﻪ ﮔﺮﺩﺵ ﻧﻤﯽ ﺭﻭﻳﻢ
}
}
else {   // ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ
ﺑﻪ ﮔﺮﺩﺵ ﻣﯽ ﺭﻭﻳﻢ
}

ﺑﻪ ﻣﺜﺎﻝ ﺯﻳﺮ ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﺍﺯ ﭼﻨﺪ ﺷﺮﻁ ﺑﻪ ﻃﻮﺭ ﺗﻮ ﺩﺭ ﺗﻮ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺍﺳﺖ. ﺍﻳﻦ ﻣﺜﺎﻝ ﻣﯽ ﮔﻮﻳﺪ ﮐﻪ ﺍﮔﺮ ﻣﺘﻐﻴﺮﻫﺎ ﺑﺎ ﻫﻢ ﺑﺮﺍﺑﺮ ﻧﻴﺴﺘﻨﺪ٬ ﻫﺮ ﮐﺪﺍﻡ ﮐﻪ ﺑﺰﺭﮒ ﺗﺮ ﺍﺳﺖ ﺭﺍ ﭼﺎﭖ ﮐﻦ. ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ ﻳﻌﻨﯽ ﺍﮔﺮ ﺑﺮﺍﺑﺮﻧﺪ٬ ﺟﻤﻊ ﺁﻧﻬﺎ ﺭﺍ ﭼﺎﭖ ﮐﻦ.

if ($x != $y)
{
if ( $x > $y){
print $x;
}
else {
print $y;
      }
}
else {
print $x +$y ;
      }

ﻃﺒﻖ ﻣﺜﺎﻝ ﺑﺎﻻ ﺍﮔﺮ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ ﺑﺮﻗﺮﺍﺭ ﻧﺒﺎﺷﺪ ﻳﻌﻨﯽ ﺍﮔﺮ ﻣﺘﻐﻴﺮﻫﺎ ﺑﺮﺍﺑﺮ ﺑﺎﺷﻨﺪ ﺑﻪ ﻗﺴﻤﺖ else ﺁﺧﺮ ﻣﯽ ﺭﻭﺩ ﻭ ﺟﻤﻊ ﺁﻧﻬﺎ ﺭﺍ ﭼﺎﭖ ﻣﯽ ﮐﻨﺪ. ﺍﻣﺎ ﺩﺭ ﺻﻮﺭﺕ ﺑﺮﺍﺑﺮ ﻧﺒﻮﺩﻥ ﻳﻌﻨﯽ ﻧﺎﺩﺭﺳﺖ ﺑﻮﺩﻥ ﺷﺮﻁ ﺑﻪ ﺩﺍﺧﻞ ﺷﺮﻁ ﺍﺑﺘﺪﺍﻳﯽ ﺭﻓﺘﻪ ﻭ ﺷﺮﻁ ﻫﺎﯼ ﺩﻳﮕﺮ ﺭﺍ ﺑﺮﺭﺳﯽ ﻣﯽ ﮐﻨﺪ.
ﻧﮑﺘﻪ ۱: ﺩﺭ ﺯﻣﺎﻧﯽ ﮐﻪ ﻋﻤﻞ ﺑﻌﺪ ﺍﺯ ﺩﺭﺳﺘﯽ ﺷﺮﻁ ﻳﮑﯽ ﺑﺎﺷﺪ، ﻧﻴﺎﺯﯼ ﺑﻪ ﮔﺬﺍﺷﺘﻦ { } ﻧﻴﺴﺖ. ﺍﻳﻦ ﮐﺎﺭﺍﮐﺘﺮ ﺯﻣﺎﻧﯽ ﺿﺮﻭﺭﯼ ﺍﺳﺖ ﮐﻪ ﺷﻤﺎ ﺑﺨﻮﺍﻫﻴﺪ ﭼﻨﺪ ﺩﺳﺘﻮﺭ ﺭﺍ ﺑﻌﺪ ﺍﺯ ﺩﺭﺳﺘﯽ ﺷﺮﻁ ﺍﻧﺠﺎﻡ ﺩﻫﻴﺪ. ﺍﻣﺎ ﭘﻴﺸﻨﻬﺎﺩ ﻣﯽ ﺷﻮﺩ ﮐﻪ ﺷﻤﺎ ﻫﻤﻴﺸﻪ ﺍﺯ ﺍﻳﻦ ﮐﺎﺭﺍﮐﺘﺮﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﻴﺪ.
ﻧﮑﺘﻪ ۲: ﺗﻼﺵ ﮐﻨﻴﺪ ﻫﻤﻴﺸﻪ ﺩﺭ ﺯﻣﺎﻥ ﺗﻌﺮﻳﻒ ﻳﮏ ﺷﺮﻁ ﻫﺮ ﺩﻭ ﮐﺎﺭﺍﮐﺘﺮ {} ﺭﺍ ﻗﺒﻞ ﺍﺯ ﻫﺮ ﭼﻴﺰﯼ ﺑﮕﺬﺍﺭﻳﺪ ﭼﺮﺍ ﮐﻪ ﺩﺭ ﺻﻮﺭﺕ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﭼﻨﺪﻳﻦ ﺷﺮﻁ ﻣﻤﮑﻦ ﺍﺳﺖ ﺗﺮﺗﻴﺐ ﮐﺎﺭﺍﮐﺘﺮﻫﺎ ﺑﻪ ﻫﻢ ﺑﺨﻮﺭﺩ ﮐﻪ ﺑﺎﻋﺚ ﺍﻳﺠﺎﺩ ﺧﻄﺎ ﻣﯽ ﺷﻮﺩ.

Switch
ﻧﻮﻉ ﺩﻳﮕﺮ ﺷﺮﻁ ﮔﺬﺍﺭﯼ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩﻥ ﺍﺯ switch ﺍﺳﺖ ﮐﻪ ﮐﺎﺭﺍﻳﯽ ﺧﻮﺩ ﺭﺍ ﺩﺍﺭﺩ. ﻧﺤﻮﻩ ﻧﻮﺷﺘﻦ ﺁﻥ ﺑﻪ ﺷﮑﻞ ﺯﻳﺮ ﺍﺳﺖ:

switch (ﻣﺘﻐﻴﺮ)
{
     case  ‘ﻣﻘﺪﺍﺭ ﺍﺑﺘﺪﺍﻳﯽ’  :
     {
     // ﺩﺳﺘﻮﺭ
          break ;
}
      case  ‘ﻣﻘﺪﺍﺭ ﺩﻭﻡ’  :
{
     // ﺩﺳﺘﻮﺭ
     break;
}
     default:
{
     // ﺩﺳﺘﻮﺭ
     break;
}
}

ﺩﺭ ﺍﻳﻦ ﻧﻮﻉ ﺷﺮﻃﯽ، switch ﻣﻘﺪﺍﺭ ﻣﺘﻐﻴﺮ ﺭﺍ ﺑﺎ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﻋﺒﺎﺭﺍﺕ ﻣﻘﺎﺑﻞ case ﻣﻘﺎﻳﺴﻪ ﻣﯽ ﮐﻨﺪ. ﻭﻗﺘﯽ ﺍﻳﻦ ﻣﻘﺪﺍﺭ ﺑﺮﺍﺑﺮ ﺑﺎ ﻫﺮ ﮐﺪﺍﻡ ﺍﺯ ﻋﺒﺎﺭﺍﺕ ﺷﺪ، ﺩﺳﺘﻮﺭﺍﺕ ﺩﺍﺧﻞ ﺁﻥ case ﺍﻧﺠﺎﻡ ﻣﯽ ﺷﻮﺩ ﻭ ﺑﻌﺪ ﺑﺎ ﮐﻤﮏ ﺩﺳﺘﻮﺭ break ﺍﺯ ﺩﺍﺧﻞ ﺷﺮﻁ ﺧﺎﺭﺝ ﻣﯽ ﺷﻮﺩ. ﺩﺭ ﺩﺭﺱ ﻫﺎﯼ ﺁﻳﻨﺪﻩ ﺍﺯ ﺍﻳﻦ ﻧﻮﻉ ﺷﺮﻃﯽ ﺑﻴﺸﺘﺮ ﺣﺮﻑ ﺧﻮﺍﻫﻴﻢ ﺯﺩ ﻭ ﺑﻬﺘﺮ ﺁﻥ ﺍﺳﺖ ﮐﻪ ﻓﻌﻼ ﺭﻭﯼ if ﺗﻤﺮﮐﺰ ﮐﻨﻴﻢ.

ﮐﺎﺭﺑﺮﺩ ﺷﺮﻁ ﻫﺎ ﺩﺭ ﺑﺮﻧﺎﻣﻪ
ﺩﺭ ﺩﺭﺱ ﻗﺒﻞ ﻣﺎ ﻳﮏ ﻓﺮﻡ ﺩﺭﺳﺖ ﮐﺮﺩﻳﻢ ﻭ ﺑﻪ ﮐﻤﮏ ﮐﺪﻫﺎﯼ ﭘﯽ ﺍﭺ ﭘﯽ ﺩﺍﺩﻩ ﻫﺎ ﺭﺍ ﺍﺯ ﻓﺮﻡ ﮔﺮﻓﺘﻪ ﻭ ﺩﺭ ﺻﻔﺤﻪ ﺩﻳﮕﺮﯼ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻳﻢ. ﻣﺸﮑﻠﯽ ﮐﻪ ﺍﻳﻦ ﻓﺮﻡ ﺩﺍﺷﺖ ﺍﻳﻦ ﺑﻮﺩ ﮐﻪ ﺩﺭ ﺯﻣﺎﻧﯽ ﮐﻪ ﮐﺎﺭﺑﺮ ﮐﺎﺩﺭﯼ ﺍﺯ ﻓﺮﻡ ﺭﺍ ﭘﺮ ﻧﻤﯽ ﮐﺮﺩ ﺑﺎﺯ ﻓﺮﻡ ﻋﻤﻞ ﮐﺮﺩﻩ ﻭ ﺟﺎﯼ ﺁﻥ ﮐﺎﺩﺭ ﺭﺍ ﺧﺎﻟﯽ ﻣﯽ ﮔﺬﺍﺷﺖ.
ﺣﺎﻝ ﺑﺎ ﻓﺮﺍﮔﻴﺮﯼ ﺷﺮﻃﯽ ﻫﺎ ﻭ ﻋﻤﻠﮕﺮﻫﺎ ﻣﯽ ﺧﻮﺍﻫﻴﻢ ﺍﻳﻦ ﻧﻘﺾ ﺭﺍ ﺑﺮﻃﺮﻑ ﮐﻨﻴﻢ ﺑﻪ ﺻﻮﺭﺗﯽ ﮐﻪ ﺍﮔﺮ ﮐﺎﺭﺑﺮ ﭼﺒﺰﯼ ﻧﻨﻮﺷﺖ ﻳﺎ ﻣﻮﺭﺩﯼ ﺭﺍ ﺧﺎﻟﯽ ﮔﺬﺍﺷﺖ ﺩﺭ ﺻﻮﺭﺕ ﻧﻴﺎﺯ ﺑﻪ ﺍﻭ ﺗﺬﮐﺮ ﺩﺍﺩﻩ ﺗﺎ ﺑﺮﮔﺮﺩﺩ ﻭ ﻓﺮﻡ ﺭﺍ ﮐﺎﻣﻞ ﮐﻨﺪ.
ﻟﻄﻔﺎ ﺑﺮﻧﺎﻣﻪ WampServer ﺧﻮﺩ ﺭﺍ ﺍﺟﺮﺍ ﮐﺮﺩﻩ ﻭ ﺳﻪ ﻓﺎﻳﻞ ﺑﺎ ﻧﺎﻡ ﻫﺎﯼ form.php ﻭ form_handler.php ﻭ  style.css ﺭﺍ ﺳﺎﺧﺘﻪ ﻭ ﺩﺭ ﭘﻮﺷﻪ www/php ﺧﻮﺩ ﻗﺮﺍﺭ ﺩﻫﻴﺪ.
ﻓﺎﻳﻞ form.php  ﺭﺍ ﺑﺎﺯ ﮐﺮﺩﻩ ﻭ ﮐﺪﻫﺎﯼ ﺯﻳﺮ ﺭﺍ ﺩﺍﺧﻞ ﺁﻥ ﻗﺮﺍﺭ ﺩﻫﻴﺪ.

<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title>ﺁﻣﻮﺯﺵ ﺷﺮﻃﯽ ﺑﺎ ﺳﺎﺧﺖ ﻓﺮﻡ ﺍﭼﺘﻴﺎﻣﺎﻝ</title>
     <link rel="stylesheet" type="text/css" media="all" href="style.css" />
</head>
<body>
<!-- ﮐﺪ ﺑﺮﺍﯼ ﺳﺎﺧﺖ ﻓﺮﻡ - form.html -->

<form action="form_handler.php" method="post">
<fieldset>
<legend align="right">ﻟﻄﻔﺎ ﻓﺮﻡ ﺯﻳﺮ ﺭﺍ ﭘﺮ ﮐﻨﻴﺪ</legend>
<label> ﻧﺎﻡ</label>
<input type="text" name="name" />
<label> ﺭﺍﻳﺎﻧﺎﻣﻪ </label>
<input type="text" name="email" />
<label>ﺩﻳﺪﮔﺎﻩ</label>
<textarea name="comments" ></textarea>
</fieldset>
<input type="submit" name="submit" value="ﺍﺭﺳﺎﻝ" class="submit"/>

</form>
</body>
</html>

ﺍﻳﻦ ﺩﻗﻴﻘﺎ ﺑﺮﺍﺑﺮ ﻫﻤﺎﻥ ﻓﺮﻣﯽ ﺍﺳﺖ ﮐﻪ ﺩﺭ ﺩﺭﺱ ﻗﺒﻞ ﺳﺎﺧﺘﻴﻢ، ﺍﻟﺒﺘﻪ ﺑﺎ ﮐﻤﯽ ﺍﺯ ﺗﻐﻴﻴﺮﺍﺕ ﻣﺜﻼ ﺗﻐﻴﻴﺮ ﻣﺘﺪ.
ﺣﺎﻝ ﻣﺎ ﻧﻴﺎﺯ ﺑﻪ ﻳﮏ ﺍﺭﺯﻳﺎﺏ ﻓﺮﻡ ﺑﺎ ﮐﺪﻫﺎﯼ ﭘﯽ ﺍﭺ ﭘﯽ ﺩﺍﺭﻳﻢ. ﻓﺎﻳﻞ form_handler.php ﺭﺍ ﺑﺎﺯ ﮐﻨﻴﺪ ﻭ ﮐﺪﻫﺎﯼ ﭘﯽ ﺍﭺ ﭘﯽ ﺭﺍ ﺩﺭ ﺁﻥ ﻗﺮﺍﺭ ﺩﻫﻴﺪ.

<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title> ﭘﺎﺳﺦ  </title>
     <link rel="stylesheet" type="text/css" media="all" href="style.css" />
</head>
<body>
<div id="contain">
<?php // ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﺩﺍﺩﻩ ﻫﺎ ﺩﺭ ﻣﺘﻐﻴﺮ
$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];
if ( !empty($_POST['name']) && !empty($_POST['comments']) && !empty($_POST['email']) )
{
echo 'ﺑﺎ ﺳﭙﺎﺱ <br /><span> ' . $name . '</span><br />ﺑﺮﺍﯼ ﺍﻳﻦ ﻧﻮﺷﺘﻪ <br />' ;
?>
<div class="comment"> <?php echo $comments ; ?> </div>
ﻣﺎ ﺑﺎ ﺷﻤﺎ ﺗﻤﺎﺱ ﻣﯽ ﮔﻴﺮﻳﻢ ﺗﻮﺳﻂ ﺍﻳﻦ ﺭﺍﻳﺎﻧﺎﻣﻪ <br />
<div class="email">
<?php echo $email . '<br /><br />' ;?>
</div>
<?php
}
else
{
echo '<div class="error">ﻟﻄﻔﻦ ﺑﺮﮔﺮﺩﻳﺪ ﻭ ﻓﺮﻡ ﺭﺍ ﮐﺎﻣﻞ ﭘﺮ ﮐﻨﻴﺪ</div>';
}
?>
<a href="form.php">ﺑﺮﮔﺸﺖ</a>
</div>
</body>
</html>

ﺑﺮﺭﺳﯽ ﮐﺪﻫﺎﯼ form_handler.php
ﺩﺭ ﺍﻳﻦ ﮐﺪﻫﺎ ﺍﺑﺘﺪﺍ ﻣﺎ ﺩﺍﺩﻩ ﻫﺎﯼ ﻓﺮﺳﺘﺎﺩﻩ ﺷﺪﻩ ﺍﺯ ﻓﺮﻡ ﺭﺍ ﮔﺮﻓﺘﻪ ﻭ ﺩﺭ ﺩﺍﺧﻞ ﻣﺘﻐﻴﺮﻫﺎ ﻣﯽ ﮔﺬﺍﺭﻳﻢ. ﺳﭙﺲ ﺍﺯ ﺷﺮﻃﯽ ﻫﺎ ﺑﺮﺍﯼ ﺑﺮﺭﺳﯽ ﺩﺍﺩﻩ ﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ ﮐﻨﻴﻢ. ﮐﺎﺭﯼ ﮐﻪ ﺍﻧﺠﺎﻡ ﻣﯽ ﺷﻮﺩ ﺍﻳﻦ ﺍﺳﺖ ﮐﻪ ﺑﺎ ﻳﮏ «ﺍﮔﺮ» ﺑﺮﺭﺳﯽ ﻣﯽ ﮐﻨﻴﻢ ﮐﻪ ﺁﻳﺎ ﻫﻤﻪ ﮐﺎﺩﺭﻫﺎ ﭘﺮ ﺷﺪﻩ ﻳﺎ ﻧﻪ.

$name = $_POST['name'];
$email = $_POST['email'];
$comments = $_POST['comments'];

ﺍﻳﻦ ﺳﻪ ﺧﻂ٬ ﺩﺍﺩﻩ ﻫﺎ ﺭﺍ ﺍﺯ ﻓﺮﻡ ﺗﻮﺳﻂ ﻣﺘﻐﻴﺮﻫﺎﯼ ﭘﺮ ﺷﺪﻩ $_POST ﮔﺮﻓﺘﻪ ﻭ ﺩﺭ ﻣﺘﻐﻴﺮﻫﺎﯼ ﺗﻌﺮﻳﻔﯽ ﺟﺪﻳﺪ ﻣﯽ ﮔﺬﺍﺭﻧﺪ. ﺣﺎﻝ ﻣﯽ ﺗﻮﺍﻧﻴﻢ ﺑﺎ ﺑﺮﺭﺳﯽ ﻣﻘﺪﺍﺭ ﺩﺍﺷﺘﻦ ﻳﺎ ﻧﺪﺍﺷﺘﻦ ﺍﻳﻦ ﻣﺘﻐﻴﺮﻫﺎ ﺑﻪ ﺧﺎﻟﯽ ﺑﻮﺩﻥ ﻳﺎ ﭘﺮ ﺑﻮﺩﻥ ﮐﺎﺩﺭﻫﺎ ﭘﯽ ﺑﺒﺮﻳﻢ. ﺍﻳﻦ ﮐﺎﺭ ﺭﺍ ﺑﺎ ﺷﺮﻃﯽ ﺯﻳﺮ ﺍﻧﺠﺎﻡ ﻣﯽ ﺩﻫﻴﻢ:

if ( !empty($name) && !empty($_POST['comments']) && !empty($_POST['email']) )

ﺍﻳﻦ ﺷﺮﻃﯽ ﺑﺮﺭﺳﯽ ﻣﯽ ﮐﻨﺪ ﮐﻪ ﺍﮔﺮ ﻣﺘﻐﻴﺮﻫﺎﯼ ﻧﺎﻡ٬ ﺭﺍﻳﺎﻧﺎﻣﻪ ﻭ ﺩﻳﺪﮔﺎﻩ ﺧﺎﻟﯽ ﻧﻴﺴﺖ، ﺩﺳﺘﻮﺭﻫﺎﯼ ﺑﻌﺪﯼ ﺍﻧﺠﺎﻡ ﺷﻮﻧﺪ. ﺩﺭ ﺻﻮﺭﺗﯽ ﮐﻪ ﭘﺎﺳﺦ ﺍﻳﻦ ﺷﺮﻁ ﻣﻨﻔﯽ ﺑﺎﺷﺪ، ﺑﻪ ﻗﺴﻤﺖ else ﻣﯽ ﺭﻭﺩ ﻭ ﻫﺸﺪﺍﺭ ﺧﺎﻟﯽ ﺑﻮﺩﻥ ﺭﺍ ﻣﯽ ﺩﻫﺪ.

else
{
echo '<div class="error">ﻟﻄﻔﺎ ﺑﺮﮔﺮﺩﻳﺪ ﻭ ﻓﺮﻡ ﺭﺍ ﮐﺎﻣﻞ ﭘﺮ ﮐﻨﻴﺪ</div>';
}

ﻫﻤﺎﻧﻄﻮﺭ ﮐﻪ ﻣﻼﺣﻈﻪ ﻣﯽ ﮐﻨﻴﺪ ﺩﺭ ﺩﺍﺧﻞ ﭘﺮﺍﻧﺘﺰ if ﺍﺯ ﻫﺮ ﺩﻭ ﻧﻮﻉ ﻣﺘﻐﻴﺮ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺗﺎ ﺑﻪ ﺷﻤﺎ ﮔﻮﻧﺎﮔﻮﻧﯽ ﺍﻳﻦ ﮐﺎﺭﺑﺮﺩ ﺭﺍ ﻧﺸﺎﻥ ﺩﻫﻴﻢ. ﺑﻪ ﻃﻮﺭ ﻣﺜﺎﻝ ﻳﮑﺠﺎ ﺍﺯ ﺧﻮﺩ ﻣﺘﻐﻴﺮ ($_POST['comments']) ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﻭ ﺩﺭ ﺟﺎﯼ ﺩﻳﮕﺮ ﻣﺘﻐﻴﺮ $_POST['name'] ﺭﺍ ﺩﺭﻭﻥ ﻣﺘﻐﻴﺮ ﺩﻳﮕﺮﯼ ﺑﺎ ﻧﺎﻡ $name ﺭﻳﺨﺘﻪ ﻭ ﺍﺯ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﮐﺮﺩﻳﻢ.
ﺩﺭ ﺩﺍﺧﻞ ﺍﻳﻦ ﺷﺮﻁ ﺍﺯ ﺩﻭ ﻋﻤﻠﮕﺮ && ﻭ ! ﺑﺮﺍﯼ ﻣﻄﻤﺌﻦ ﺷﺪﻥ ﺍﺯ ﺧﺎﻟﯽ ﻧﺒﻮﺩﻥ ﻣﺘﻐﻴﺮﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺷﺪﻩ ﺍﺳﺖ.
ﺩﺭ ﺯﻣﺎﻧﯽ ﮐﻪ ﺍﻳﻦ ﺷﺮﻁ ﻫﺎ ﺩﺭﺳﺖ ﺑﺎﺷﻨﺪ، ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺩﺍﺧﻞ if ﺭﻓﺘﻪ ﻭ ﺩﺳﺘﻮﺭﺍﺕ ﭼﺎﭖ ﻣﺘﻐﻴﺮﻫﺎ ﺭﺍ ﺍﻋﻤﺎﻝ ﻣﯽ ﮐﻨﺪ.
ﺑﺮﺍﯼ ﻧﻤﺎﻳﺶ ﺑﻬﺘﺮ ﺩﺍﺩﻩ ﻫﺎ ﺩﺭ ﺻﻔﺤﻪ ﻣﺮﻭﺭﮔﺮ ﻣﯽ ﺗﻮﺍﻧﻴﺪ ﻓﺎﻳﻞ ﺳﻮﻡ ﺭﺍ ﻫﻢ ﺑﻪ ﭘﻮﺷﻪ ﺍﺿﺎﻓﻪ ﮐﻨﻴﺪ. ﺍﻳﻦ ﻓﺎﻳﻞ ﻫﻤﺎﻥ ﻓﺎﻳﻞ ﺳﯽ ﺍﺱ ﺍﺱ ﺍﺳﺖ ﮐﻪ ﺩﺭ ﺩﺭﺱ ﻗﺒﻠﯽ ﺩﺍﺷﺘﻴﻢ.
ﻧﮑﺘﻪ: ﻣﻤﮑﻦ ﺍﺳﺖ ﮐﻪ ﺷﻤﺎ ﻧﺨﻮﺍﻫﻴﺪ ﮐﺎﺭﺑﺮ ﺭﺍ ﻣﺠﺒﻮﺭ ﮐﻨﻴﺪ ﮐﻪ  ﺑﺮﺍﯼ ﻫﻤﻪ ﮐﺎﺩﺭﻫﺎ ﺩﺍﺩﻩ ﺍﯼ ﻭﺍﺭﺩ ﮐﻨﺪ. ﺩﺭ ﺍﻳﻦ ﺻﻮﺭﺕ ﻣﯽ ﺗﻮﺍﻧﻴﺪ ﺁﻥ ﻗﺴﻤﺖ ﺭﺍ ﺍﺯ ﺷﺮﻁ ﺣﺬﻑ ﮐﻨﻴﺪ.
ﺑﻪ ﮐﺎﺭﯼ ﮐﻪ ﻣﺎ ﺩﺭ ﺍﻳﻦ ﻗﺴﻤﺖ ﺍﻧﺠﺎﻡ ﺩﺍﺩﻳﻢ ﺍﺭﺯﻳﺎﺑﯽ ﺩﺍﺩﻩ ﻫﺎ ﻣﯽ ﮔﻮﻳﻨﺪ. ﺩﺭ ﻃﻮﻝ ﺩﻭﺭﻩ ﻣﺎ ﺗﻼﺵ ﻣﯽ ﮐﻨﻴﻢ ﮐﻪ ﺍﺯ ﺗﻤﺎﻡ ﺁﻣﻮﺧﺘﻪ ﻫﺎ ﺩﺭ ﻣﻮﻗﻌﻴﺖ ﻫﺎﯼ ﻣﺨﺘﻠﻒ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﻴﻢ ﺗﺎ ﺷﺮﺍﻳﻂ ﺑﻬﺘﺮ ﻭ ﺳﺎﺩﻩ ﺗﺮﯼ ﺑﺮﺍﯼ ﻳﺎﺩﮔﻴﺮﯼ ﺍﻳﻦ ﻣﻔﺎﻫﻴﻢ ﺑﻮﺟﻮﺩ ﺁﻳﺪ.
ﺩﺭ ﺩﺭﺱ ﺑﻌﺪﯼ ﻣﺎ ﺑﻪ ﻳﮑﯽ ﺩﻳﮕﺮ ﺍﺯ ﺍﻧﻮﺍﻉ ﺩﺍﺩﻩ ﻫﺎ ﻳﻌﻨﯽ ﺁﺭﺍﻳﻪ ﻫﺎ ﻣﯽ ﭘﺮﺩﺍﺯﻳﻢ. ﺁﺭﺍﻳﻪ ﻫﺎ ﺩﻗﻴﻘﺎ ﻣﺎﻧﻨﺪ ﺩﻳﮕﺮ ﻣﺘﻐﻴﺮﻫﺎ ﻫﺴﺘﻨﺪ ﺑﺎ ﺍﻳﻦ ﺗﻔﺎﻭﺕ ﮐﻪ ﺁﻧﻬﺎ ﻣﯽ ﺗﻮﺍﻧﻨﺪ ﺑﻴﺶ ﺍﺯ ﻳﮏ ﻣﻘﺪﺍﺭ ﺭﺍ ﺑﺮﺍﯼ ﻣﺎ ﻧﮕﻬﺪﺍﺭﯼ ﮐﻨﻨﺪ.

ﭘﺲ ﺗﺎ ﺩﺭﺱ ﺑﻌﺪ ﺑﺪﺭﻭﺩ.

Share