|
إنضمامك إلي منتديات استراحات زايد يحقق لك معرفة كل ماهو جديد في عالم الانترنت ...
انضم الينا
#1
| ||
| ||
نبدأ درسنا اليوم بإضافة بسيطة عن المتغيرات كنا قد تجاوزناها... وهي : كيفية التحكم بقيم المتغيرات من خارج الكود البرمجي..! وهناك طريقتان.. أولاهما عن طريق النماذج Forms وسنتكلم عنها بالتفصيل بعد دروس قليلة والثانية عن طريق الرابط حيث تقوم بتغيير أشياء بسيطة فيه ليعطيك نتائج جديدة مثلاً في درسنا السابق عن for وضعنا مثالاً عن استثناء سطر مثلاً أو عمود محدد.. وقد قمنا بتحديده من داخل الكود البرمجي فما رأيكم لو أردنا التحكم بهذا العمود من الرابط؟؟ لقد استبدلنا القيم المستثناة بمتغيرات... ولكن هذه المتغيرات ليس لها قيمة قيمها ستأخذها من الرابط!!... كيف؟؟... يجب أن يكون الرابط بهذا الشكل: http://localhost/lesson5/test1.php?line1=3&line2=7 حيث 3 هي القيمة المفترضة لرقم السطر المستثنى الأول و7 للثاني... لكن هناك مشكلة ستحدث اذا ما طلبنا الرابط بدون هذه المتغيرات فيه... حيث سيعتبر قيمها تساوي الفراغ ولن يستثني شيئاً... لذلك من الممكن أن نضيف على المثال شرطاً هو كالتالي: مامعنى الشرط السابق... معناه "إذا لم تجد أن للمتغير line1 قيمه فاعطه القيمة 3" وهنا وفي البرمجة بشكل عام: اشارة التعجب تعني النفي أو العكس... واستغنينا عن قوس التعليمات في if لأننا وضعنا فيها تعليمة واحدة... ومن الممكن وضعه وليس بالمشكلة... وعكس هذا الشرط: { }(if($line1 وهنا يتحقق الشرط اذا كان هناك أي قيمة لهذا المتغير أمر أخير بالنسبة للمتغيرات وهو بعض ملاحظات فيها - نفصل بين أسماء المتغيرات وقيمها بإشارة = - ونفصل بين كل متغير وقيمته مع متغير اخر بإشارة & - ونفصل بين أول متغير واسم الصفحة البرمجية بإشارة ؟ - اذا طلبنا رابط صفحة وذكرنا في الرابط عدة متغيرات بقيم متعددة... وكان في الكود البرمجي عملية تخزين لقيمة ضمن أحد المتغيرات فإن المتغير سيحتفظ بقيمته الأخيرة... وينفذ على أساسها... لذلك وضعنا الشرط قبل تخزين القيم الافتراضية في حال لم يكن للمتغير قيمه من الرابط في مثالنا الأخير - المثال الأخير كما هو الآن سيعمل بدون مشاكل على كمبيوترك الشخصي... لكن ارفعه على الانترنت ستجد انك مهما غيّرت من القيم من الرابط سيبقى يأخذ القيم الافتراضية 3 و 7 وسبب ذلك نوع حماية مستخدم اسمه register_global لا يهمنا ... لكنه يرفض التعامل مع المتغيرات بأسمائها كما هي في الرابط... وعند فحص قيمتها يخبرك بأنها فارغة فالمتغيرات التي تريد أخذها من الرابط للتعامل معها عليك أن تأخذها بالشكل الكود $_GET['line1'] $_GET['line2'] ولكي يصبح مثالنا صحيحاً... نقوم فيه بالتعديل : وطبعاً الرابط لا يتغير ويبقى كما هو.. http://localhost/lesson5/test1.php?line1=3&line2=7 الآن .. أصبح يعمل على كمبيوترك الشخصي وعلى الانترنت بشكل سليم... تكلمنا عن التعليمة الشرطية if .. elseif .. else وأنها تأخذ عدداً غير محدود من elseif لكن في هذه الدالة مشكلة... وهي أنك مثلاً إذا وضعت فيها 50 قسم من elseif وكانت القيم المعطاة لا تتحقق الا بالقسم الأخير فالبرنامج سينجبر أن يفحص الشروط السابقة كلها ليجدها غير محققة ليصل إلى القسم الأخير المحقق وينفذ تعليماته وهذا قد يتطلب وقتاً... غير محبذ في البرمجة! لذلك يمكنك الاستعاضة عن هذه الدالة الشرطية بالدالة switch التي تساعدك اذا كنت تفحص قيمة متغير واحد ولها الشكل الآتي تقرأ جميع الاحتمالات التي تم اعدادها من قبل المبرمج وتنفذ المحققة فوراً وتخرج من الدالة وكمثال عملي... نفرض ان المتغير var1 سنبعثه عن طريق الرابط - تعليمة break هنا من أصل تعليمة switch ولا يمكن الاستغناء عنها.. - يمكن الاستغناء عن القسم الأخير صاحب القيمة default ولا مشكلة.. - وطبعاً رأينا التمييز في المعاملة مابين القيم النصية والقيم الرقمية وجدنا في for أنه علينا تحديد القيمة الابتدائية والنهائية وطبيعة التكرار هل هو في زيادة أو في نقصان لتتم عملية التكرار... واستخدمنا على سبيل المثال... قد يقول البعض إن for معقدة!! ولو أنها بسيطة... وهناك دالة تقوم بعملها نفسه بكل سهولة إنها while نتكلم عن شكلها اولاً وكمثال عليها إذا ما أحببنا استخدامها بدل for في المثال السابق طبعاً هنا في قوس التعليمات يمكنك وضع أي شيء تريده ووضعنا أن فيه المتغير يأخذ قيمة متزايدة .. وإلا ستكون while غير منتهية ما أهمية استخدام while أحيانا تواجهنا مواقف قد لانعرف فيها القيمة النهائية التي نريد الوصول إليها او طبيعة التكرار وقد يكون التكرار عشوائياً لمجرد الوصول إلى شرط معين... وهذا ما لا تؤمنه تعليمة for .! مثلاً أريد تكرار مجموعة تعليمات معينة لمدة ثانيتين من الزمن (ينصح بعدم التجربة)! حيث أن الدالة time() لمعرفة الزمن الحالي بالثانية وهي عدد الثواني منذ عام 1970 وحتى الآن وكل ثانية تزداد بمقدار واحد والشرط كان : اذا كان الوقت الذي قمنا بتخزينه لحظة البدء بعد اضافة ثانيتين عليه أكبر من الوقت الحالي قم يتنفيذ مابين قوسي التعليمات... وبمجرد مرور ثانيتين سيصبح اصغر وستنتهي تعليمة while من الممكن أن نستخدم تعليمة break ضمن while وتعني اقطع التنفيذ واخرج من while مثال: وهنا سيقطع التنفيذ عند بعد أن تصبح قيمة المتغير i عشرة ويكمل التعليمات الموجودة خارج while ملاحظة على الهامش.. الوظيفة... نريد الوظيفة السابقة الخاصة بـ for باستخدام while... بعد تحويل جميع القيم فيها إلى متغيرات يمكننا تعديل قيمها عن طريق الرابط... وهذه هي الوظيفة السابقة :: وبالنسبة للوظايف اتبحبحوا بالأسطر والفراغات... يعني اللوح أد الحيط -=-=-=- أرجو ان وفقت بنقل هذا الدرس لكم لأي سؤال عن هذه الدرس او اي استفسار أو لتقديم الوظيفة ان احببتم يمكنكم زيارة الرابط التالي : http://it.jamaa.cc/art247572.html إلى اللقاء موعدنا في الدرس التالي وهو الدرس السادس تحيــاتي |
مواقع النشر (المفضلة) |
| |
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
[برمجة الهاكات][ الدرس الخامس ] شرح لأهم المتغيرات والدوال + كيفية إستعمالها | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 10-25-2009 03:20 AM |
الدرس الثالث من دورة Y4$$3R N3T - التعليمات الشرطية if .. else | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 09-09-2009 05:20 AM |
الدرس الثاني من دورة y4$$3r n3t - التخزين أوامر الطباعة المتغيرات والعمليات الأولية | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 09-09-2009 05:20 AM |
الدرس الخامس من دورة y4$$3r n3t - المتغيرات والتعليمات الشرطية والتكرارية | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 09-09-2009 05:10 AM |
الدرس الثالث من دورة Y4$$3R N3T - التعليمات الشرطية if .. else | محروم.كوم | منتدى أخبار المواقع والمنتديات العربية والأجنبية | 0 | 09-09-2009 05:10 AM |