الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الفلترة Filtering

بدأه La Martir في 23 سبتمبر 2011 · 6 رد · 1,721 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عنوان الدرس : الفلترة .

درجة الدرس : مبتدئ-متوسط .

اللغة :PHP5

ماهي الفلترة ولماذا ؟

الفلترة : هي تقنية تم احداثها في php5 لتساعد مطورين اللغة على تنقيح والتحقق من القيم المدخلة الخارجية وهي تنقسم إلى :

1-القيم القادمة من استعلامات قواعد البيانات .

2-Cookies .

3- مدخلات النماذج .

4- القيم القادمة من السيرفر .

ونطلق على تقنية التنقيح والتحقق .

Validating And Sanitizing .

ماهي فائدة هذه العملية ؟

بالقبل كنا للتحقق من من الأيميل المدخل ايميل حقيقي وليس سبام أو لا يحتوي على @ ,كنا نستخدم في PHP4 :

ereg مع التعبيرات المنطقية regular excepretion.

وفي php5 يوجد بديلتها preg_match . وندخل في تعقيدات قد تكون صعبة على المبتدأ في تعلم اللغة . قد يحتاجها في أماكن أخرى .. ولكن ليس اليوم .

الأن هناك البديل لها .. لن أطيل الحديث .

مجموعة المناهج المستخدمة Functions:

1- للتحقق من قيمة متغير .

filter_var();

2- للتحقق من مجموعة متغيرات سويا .

filter_var_array();

3-للتحقق إذا كانت المتغير يحوي بداخله قيمة أم فارغ

filter_has_var

4- للتحقق من القيم المدخلة عن طريق POST ,GET :عن طريق الخيار INPUT GET ,INPUT POST. المثال في أخر الدرس سيوضح ذلك .

filter_input()

الأن سأبدأ بخيارات التنقيح :

FILTER_SANITIZE_EMAIL : هذه تحذف Special characters من الإيميل .

FILTER_SANITIZE_URL: أيضا تنقيح الرابط وحذف مايسبب المشاكل ..

FILTER_SANITIZE_NUMBER_INT: حذف كل المحارف من الرقم والتحقق هل هو انتجر .أم لاء .ولايحذف +- .

FILTER_SANITIZE_NUMBER_FLOAT : ويتحقق هل الرقم يحوي فواصل .. ويحذف جميع المحارف .. يمثلا لو تم ادخال 123.23asd

FILTER_SANITIZE_MAGIC_QUOTES: يطبق التابع addslashes ..

FILTER_SANITIZE_STRING: تقوم بعملية التجريد من الأوسمة strip_tags.

الأن خيارات التحقق :

FILTER_VALIDATE_IP :التحقق من ان القيمة هي اي بي حقيقة .. طيب سؤال هل IPv4.0 أم IPv6.0 ؟ الشيء أنها للإثنين .

FILTER_VALIDATE_URL : التحقق من المدخل أنه رابط لموقع أم غير ذلك .

FILTER_VALIDATE_REGEXP: وهي مشابه للدالةpreg_match.وهي للتحقق من مدخلات string .

FILTER_VALIDATE_EMAIL: للتحقق من أن المدخل ايميل .

FILTER_VALIDATE_INT : التحقق من القيمة الرقمية .

FILTER_VALIDATE_FLOAT: التحقق من القيم العشرية .

الأن لنأخذ مثالا أنه لدينا نموذج لإدخال بيانات كالتالي : لن أستخدم HTML5 في المثال .

 <form action="check.php" method="get">
	<input type="text" name="email" />
	<input type="text" name="int" />
	<input type="submit" name="submit">
 </form>

check.php هذا الكود للتحقق .

if(isset($_GET['submit'])){
 if(!filter_has_var(INPUT_GET, "email"))
  {
  echo("Input type does not exist");
  }
else
  {
  if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL))
	{
	echo "E-Mail is not valid";
	}
  else
	{
	echo "E-Mail is valid";
	}
  }
   if(!filter_has_var(INPUT_GET, "int"))
  {
  echo("Input type does not exist");
  }
else
  {
  if (!filter_input(INPUT_GET, "int", FILTER_VALIDATE_INT))
	{
	echo "The inserted is not a Integer";
	}
  else
	{
	echo "is integer";
	}
  }
  }
4
#2

موضوع جميل مشكور

Life is not the amount of breaths you take, it's the moments that take your breath away

#3

أشكرك أخي فؤاد عبد الرازق .. على مراقبتك الدائمة لمواضيعي .ز

فهذا وسام على صدري ..

بوركت ..

لامارتير .

#4

شرح ولا اروع سلمت يمناك اخوي لامارتير

اتمنى لك التوفيق

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#5

أخي M.B.O

أنت الرائع ..

أشكرك من أعماق قلبي للمرور ..

لامارتير

#6

1+

الله يعطيك العافة.

#7

الله يعافيك أخي مازن .. ولو ومنكم نستفيد ..

ربي يوفقك

لامارتير

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…