لا تجعل الظروف تحكم برامجك .. نظره علي الداله array_walk
صفحة 1 من اصل 1
لا تجعل الظروف تحكم برامجك .. نظره علي الداله array_walk
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
في بعض الاوقات نريد ان نقوم بعمل تطبيقات تعمل بشكل آلي علي الاسكربت دون اللجوء للطرق
اليدويه علي سبيل المثال عند تفعيل ال 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 فيمكنك عمل الكثير من التطبيقات بها
السلام عليكم ورحمة الله وبركاته
في بعض الاوقات نريد ان نقوم بعمل تطبيقات تعمل بشكل آلي علي الاسكربت دون اللجوء للطرق
اليدويه علي سبيل المثال عند تفعيل ال 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 فيمكنك عمل الكثير من التطبيقات بها
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى