طھظپط§ط¯ظٹ ط§ط³طھط®ط¯ط§ظ… stripslashes() ط¹ظ†ط¯ ظƒظ„ ط§ط³طھط®ط±ط§ط¬ ظ…ظ† ظ‚ط§ط¹ط¯ط© ط§ظ„ط¨ظٹط§ظ†ط§طھ



بسم الله الرحمان الرحيم

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


كلنا أو أغلبنا يستخدم إما mysql_real_escape_string() أو الدالة addslashes()

لتفادي حقن الـSQL

طبعا وظيفة الدالتان هي إضافة سلاش \ قبل كل حرف قد يؤثر على الإستعلام

لكن عند الإستخراج نجد هذه السلاش موجودة في النصوص وفي كل شيئ مما يستلزم استخدام الدالة stripslashes() لإزالتها

المشكلة أنه يجب علينا استخدام هذه الدالة كل مرة نقوم به بالإستخراج من القاعدة

هنا تكمن هذه الإضافة التي قمت بوضعها بعدما شعرت بالملل من وضع الدالة الأخيرة كل مرة

هذه الإضافة سوف تمكنك من عدم استخدامها بالمرة ، أي سوف يتم إزالة السلاشات أوتوماتيكيا

فكرتها بسيطة وكذا تطبيقها

ولنرى كيف نستخدمها في المثال القادم ، لكن قبل أن تقرأ المثال يجب عليك أن تعرف

أنك إذا كنت تستخدم mysql_fetch_array أو mysql_fetch_assoc أو ما يقابلهما

فسوف تستخدمهما لكن بداخل دالة

هذا مثال على الإستخدام التي سوف تصبح عليه:

رمز PHP:
<code style="white-space:nowrap"> <code> function fetch_assoc($ressourceQuery)
{
$return = mysql_fetch_assoc($ressourceQuery);
return
$return;



}

$Query = mysql_query("select subject from news where id = '1'");

$Rows = fetch_assoc($Query);
</code> </code>




إلى الآن لم يتغير شيء ،

لنرى معا التغيير الذي سوف نقوم به على الدالة التي قد أنشأتها قبل قليل

رمز PHP:
<code style="white-space:nowrap"> <code> function fetch_assoc($ressourceQuery)
{
$return = mysql_fetch_assoc($ressourceQuery);

for(
$i = 0;$i < count($return);++$i)
{
$Key = array_keys($return);
$Value = array_values($return);
$return&#91;$Key&#91;$i&#93;&#93; = stripslashes($Value&#91;$i&#93;
}
return
$return;
}
</code> </code>

هل رأيت كيف أصبحت الدالة ؟

لقد تم إزالة كل السلاشات وسوف يتم ذلك أوتماتيكيا عند كل استخراج من القاعدة

أتمنى أن أكون قد أفدت والمعذرة إن كان هناك أي خطأ .









©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©