منتديات احمد سعيد عبده
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

لا تجعل الظروف تحكم برامجك .. نظره علي الداله array_walk

اذهب الى الأسفل

لا تجعل الظروف تحكم برامجك .. نظره علي الداله array_walk Empty لا تجعل الظروف تحكم برامجك .. نظره علي الداله array_walk

مُساهمة من طرف احمد سعيد الأربعاء أبريل 22, 2009 10:33 pm

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

في بعض الاوقات نريد ان نقوم بعمل تطبيقات تعمل بشكل آلي علي الاسكربت دون اللجوء للطرق
اليدويه علي سبيل المثال عند تفعيل ال magic quotes في إعدادات البي اتش بي و انت تستخدم الداله addslashes في إضافة \ عندما يقوم الزائر بإضافة العلامه , من خلال المتصفح أو نموزج ارسال ماذا سينتج ؟ تضاعف العلامه \ و عدم الاستفاده من النص المدخول الي حد كبير
الحلول :
التحقق من تفعيل الخاصيه magic quotes قبل استخدام الداله
addslashes .

علي سبيل المثال

رمز PHP:


قمنا بإستخدام الداله get_magic_quotes_gpc
في التحقق من عدم تفعيل ال magic quotes قبل استخدام الداله addslashes .

و لكن هل ستقوم بتكرار هذا الامر في كل مره تستقبل حقول من نموزج أو من متصفح .


هنا يأتي دور الداله array_walk
تعمل هذه الداله علي نظام الاستدعاء الخلفي بمعنى انها تقوم بإستدعاء داله و تطبيق كل ما فيها علي مصفوفه نحن نقوم بتحديدها

تأخذ الداله مدخلين الاول هو اسم المصفوفه و الثاني اسم الداله

مثال

رمز PHP:
function st(&$s)
{
$s=strtoupper($s);

echo
$s.' ';
}

$arr=array("a"=>"hazem","b"=>"ali");


array_walk($arr,'st');
// المدخل الاول هو المصفوفه و الثاني اسم الداله



إذاً ماذا سنستفيد من تلك الداله في حل مشكله تكرار امر التحقق من تفعيل magic quotes
ثم استخدام الدالهaddslashes أولاً كل ما يأتي من خلال المتصفح أو صناديق الارسال أو الكوكيز أو الجلسات هو عباره عن عنصر تابع لمصفوفه

إذاً نستنتج من ذلك اننا سنستغل ذلك في تطبيق الداله addslashes علي كل عناصر تلك المصفوفه

إذاً كيف سنقوم بكتابة الداله التي ستطبق تلك الشروط علي عناصر المصفوفه

أولاً قبل استخدام الداله array_walk سنقوم بالتحقق من تفعيل magic quotes

رمز PHP:
if (!get_magic_quotes_gpc())
{
//سنقوم بإستخدام الداله array_walk هنا
}



بعد ذلك نقوم بإنشاء الداله الخاصه بنا التي ستقوم بتطبيق الامر الداله addslashes علي عناصر المصفوفه عن طريق الامر function
ستأخذ الداله مدخل واحد و هو عباره عن عنصر المصفوفه المراد تطبيق عليه الداله addslashes
و لا يهم تسمية هذا المدخل بأي اسم سميه كما تشاء

مثال

رمز PHP:
function add_slashes(&$anyVar)
{
$anyVar=addslashes($anyVar);
}



قمنا بإضافة & بجانب اسم المتغير المدخل للداله حتي لا يصفر و يكون
رمز PHP:
$anyVar=addslashes($anyVar);



مباشر بدون أن يأخذ القيمه المدخله

بعد ذلك سنقوم بإستخدام الداله array_walk و نعطيها أسم هذه الداله + اسم المصفوفه الذي ينتمي اليها هذا العنصر

رمز PHP:
array_walk($_POST,'add_slashes');



ليصبح الكود كامل هو

رمز PHP:
if (!get_magic_quotes_gpc())
{
function
add_slashes(&$anyVar)
{
$anyVar=addslashes($anyVar);
}
array_walk($_POST,'add_slashes');

}



طبعاً هذا تطبيق واحد يمكن إستخدامه بالداله array_walk فيمكنك عمل الكثير من التطبيقات بها

احمد سعيد
احمد سعيد
المدير العام
المدير العام

ذكر عدد الرسائل : 350
العمر : 38
الموقع : https://ahmedsaid.yoo7.com
العمل/الترفيه : الرياضة
المزاج : تمام
تاريخ التسجيل : 02/04/2008

https://ahmedsaid.yoo7.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى