[دالة] is_numeric للتأكد ان القيمة رقمية

مدرج تحت قسم: دروس
23 مايو 2008

باستخدام هذه الدالة تستطيع معرفة القيمة هل هي رقمية ام نصية

مثال :

$text='021545454';
if( is_numeric( $text ) )
{
echo 'القيمة رقمية';
}
else
{
echo ' خطأ ';
}
// النتيجة  'القيمة رقمية'


اضافة ممكن تنفعك

ماذا لو ان لديك تعدد الصفحات ( اذا كنت ﻻ تعرف تعدد الصفحات سيأتي يوم تصل اليه ﻻ تخف) ويكون الرابط هكذا

artcile.php?id=214&page=3 ممتاز سيعمل جيدا ويكون المتغير هكذا

$page=$_GET['page'];

وماذا سيحصل لو ان الرابط هكذا artcile.php?id=214

ستحصل مشاكل وهي عدم اعطاء قيمة للمتغير page

وتأتي هذه التركيبة لتحل المشكلة

$page=(!is_numeric($page) ? 1 : $page);

لنشرح هذا السطر البرمجي البسيط ..

اذا كان المتغير فارغ او غير رقمي اعطيه القيمة “1″ او اتركه يحمل القيمة اﻷصلية

فوائد

  1. التأكد من عدم وضع اوامر ممكن تخترق القاعدة
  2. إضافة قيمة انت تحددها

يمكن تغيير الرقم “1″ الى اي قيمة تصلح لبرنامجك.

والسلام عليكم

للكاتب عبد الواحد البشيري

  • Share/Bookmark

التعليقات (1) على ”[دالة] is_numeric للتأكد ان القيمة رقمية“

  1. شكرا لك اخى الكريم على الإشارة لهذه الدالة الرائعة والتى لا غنى عنها.
    هناك شئ واحد اريد ملاحظته حول هذه الدالة
    وهى ان فى حالة ان الرقم سالب (-1 مثلا) فسيتم التأكيد على انه قيمة رقمية
    وكما تعلم فى مثال مثل الذى وضعته. اذا قلنا ان رقم الصفحة هو -1 او -2 فهذا ينتج عنه
    خطأ فى استخراج البيانات من قاعدة البيانات (ليس به شئ كبير من الخطورة, لكن الوقاية دائما خير من العلاج)

    فأرجح استخدامها بالشكل التالى

    $page=(!is_numeric($page) ? 1 : abs($page));

    حيث ان الدالة abs() ستحول الرقم السالب الى القيمة الموجبة له.
    يعنى -10 مثلا سيتم تحويله الى 10

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة