صفحة 1 من 1

أشياء مفيده أخرى [ مقدمه في php , جزء 5 ]

مرسل: 12 أكتوبر 2008, 01:53
بواسطة saanina
يجب أن تكون قدق إطلعت على الاجزاء السابقه ..
  1. ماهي php ؟
  2. مالذي أستطيع فعله مع php؟
  3. أريد أن أبدأ مع php ماذا احتاج؟
  4. صفحتك الأولى في php
لنفعل شي اكثر تطوراً الآن ..
مثلا , لنقم بمعرفة نوع متصفح الزائر وذلك عن طريق user agent له , الذي يحمل نوع المتصفح والنظام وامور اخرى مفيده .
user agent يتم تخزينه في متغير( لاحقا سنعرف ماهو المتغير) , والمتغيرات في php تبدأ دائما بعلامة الدولار $ , المتغير الذي نتحدث عنه هو $_SERVER['HTTP_USER_AGENT'].

قم بوضع هذا الكود في ملف hello.php ألذي تكلمنا عن في الجزء السابق

كود: تحديد الكل

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
سوف يظهر شي قريب من

كود: تحديد الكل

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
المتغير هذا ماهو إلا عنصر في متغير $_SERVER الذي هو بدوره عباره عن مصفوفه "array"
المتغير $_SERVER هو عباره عن "متغير سوبر" superglobal وهو ليس الوحيد فيوجد متغيرات سوبر أخرى وهو معرفه مسبقا ومفيده بالطبع .


لفهم ماقمنا بطباعته , عنصر من مصفوفه ..

كود: تحديد الكل

$1[2]
حيث ان 1 هو اسم المصفوفه و 2 هو العنصر داخل المصفوفه ويمكن أيضا أن يكون العنصر 2 مصفوفه أيضا , والمصفوفات متشعبه جداً, لكن غالباً تكون مجرد متغير يحمل عناصر بدون تشعب كبير كما في المثال .

المهم , نحن الآن قمنا بطباعه محتوى كثير ويوجد فيه نوع النظام والمتصفح وغيره , أريد الآن أن اقوم بتحديد نوع النظام بدقه, لذا نستخدم الداله strpos التي تقوم بمعرفه "هل يوجد النص المحدد في متغير ما أو لا" ,

شرح الداله ببساطه :

كود: تحديد الكل

strpos($var, 'text') 
حيث ان $var هو المتغير الذي نريد أن نرى هل يحوي بداخله على text او لا ! سوف تقوم بإرجاع قيمه true او false أي نعم أو لا .

مع مثالنا نستخدمها كالتالي:

كود: تحديد الكل

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo 'أنت تستخدم متصفح  Internet Explorer.<br />';
}?>
سوف يظهر لو كنت أستخدم متصفح اكسبلور التالي

كود: تحديد الكل

أنت تستخدم متصفح Internet Explorer.
لو كنت تستخدم متصفح اخر مثل فيرفوكس لن تظهر الرساله لك .. جرب بنفسك ..

إستخدمنا في المثال الأمر if وهو مساوي للكلمة العربيه "لو"
ونستطيع التعبير عن المثال السابق باللفظ كالتالي :
لو أن المتغير $_SERVER['HTTP_USER_AGENT'] يحوي الكلمة MSIE قم بعرض النص أنت تستخدم متصفح Internet Explorer.<br />

لنقم بجعل المثال متطور أكثر .. قم بوضع الكود التالي بدلاً من السابق في ملف hello.php

كود: تحديد الكل

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() قامت بإرجاع قيمة لاتساوي false</h3>
<p>انت تستخدم Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() قامت بإرجاع قيمة تساوي false</h3>
<p>أنت لاتستخدم Internet Explorer</p>
<?php
}
?>
سوف يظهر لو نفذته :

كود: تحديد الكل

strpos() قامت بإرجاع قيمة لاتساوي false
انت تستخدم Internet Explorer
أما لو كنت لم تستعرض من Internet Explorer سوف يظهر

كود: تحديد الكل

strpos() قامت بإرجاع قيمة تساوي false
أنت لاتستخدم Internet Explorer
قمنا بإستخدام else وتعني "لو لم يكون السابق قم بعمل التالي"
ونستطيع ترجمة المثال السابق لفظياً كالتالي :
لو أن المتغير $_SERVER['HTTP_USER_AGENT'] يحوي القيمه MSIE قم بإرجاع ... لو لم تكن فقم بإرجاع ..
ايضا يوجد الأمر else if ونضعه بعد الشرط if لو أردنا ان نقول لو لم يكون الاعلى كذا وكان التالي كذا فإفعل كذا ..

أيضا لو لاحظت المثال لوجدت أننا قفزنا من كود php للهتمل وذلك بإستخدم <?php ... ?> و الهتمل جعلنا العرض له بدون هذه الوسوم ! وهذه ميزه مهمه يجب أن تحاول التمتع بها قليلاً ..

لا حظنا أيضا أن الدوال مهمه في تنفيذ أغلب الأشياء في php والداله عباره عن كلمة او جمله بسيطه مع أقواس , الأقواس تعبأ بالقيم المطلوبه لتنفيذ الداله , كما شرحنا مع strpos ..
وهذه هي الفكره مع أغلب الدوال .


تابع قراءة الأجزاء ...
التالي >>
<< السابق
_______________
المصادر :
PHP: Something Useful - Manual