صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 28 من 28

الموضوع: مهم جدا يا شباب ,, أبغا كود لفحص المدخل عن طريق GET

  1. #16
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,247


    Al Mobarmeg المبرمج
    محمد الرحيلي
    إنترنت بلس
    Pal Coder

    أشكركم عظيم الشكر على المشاركة في الموضوع .. وصلت الفائدة جزاكم الله خير وكثر من أمثالكم





    __________________
    ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
    فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه

  2. #17


    اقتباس المشاركة الأصلية كتبت بواسطة محمد الرحيلي
    السلام عليكم

    بالنسبه لطريقة ال CASTING

    الي هي كالتالي

    كود PHP:

    <?php
    $_GET
    ['cat'] = (int) $_GET['cat'];
    ?>
    لا تستخدمها لو اردت عمل اشياء اخرى بالمتغير بعد التحقق من الرقم ,, لان هذه الطريقه لحظيه , تقوم بالتغير في لحظه ويرجع المتغير كما كان

    لاحظ التالي

    كود PHP:

    <?

        $cat 
    "mohammad";

        echo (int) 
    $cat;

        echo 
    "<br>".$cat;

    ?>


    ولكن الداله التاليه تقوم بالتغير كاملا , اي سوف يكون المتغير بعد ذلك من النوع integer
    لاحظ التالي:

    كود PHP:

    <?

        $cat 
    "mohammad";

        
    settype$cat integer );

        echo 
    $cat;

    ?>
    تحياتي لك

    اذا قمت بعمل ما ذكرته أنا :
    كود PHP:
    <?php
    $_GET
    ['cat'] = (int) $_GET['cat'];
    ?>
    فسوف تتغير قيمة المتغير $_GET['cat'] إلى نوع integer ايضاً بعد سطر التغيير.. تستطيع التجربة للتأكد.

    أما في مثالك فهو يختلف 180 درجة عن ما قمت انا بعمله.. فأنت قمت بعمل طباعة لقيمة المتغير بعد جعله (int) ولم تقم بتغيير قيمته.. فكان يجب عمل:
    كود PHP:
    <?php
    $cat 
    = (int) "mohammed";
    echo 
    $cat;
    ?>
    حتى يصبح مثلما قمت بعمله

    الـ php تعامل $_GET و $_POST و $_COOKIE و $_SERVER وغيرها على انها "متغيرات" تستطيع تغيير قيمها وليست ثوابت .. لذا ما قمت بعمله يعتبر أفضل من ناحية توفير الذاكرة وتوفير استخدام المتغيرات وسهولة الكود وقلة الأسطر وعمل نفس عمل الدالة settype ..







    __________________
    ArabBB ... SoooooN!

  3. #18


    ^^
    ^^

    كان ردي اني اوضح ان فيه فرق بين الكاست

    وانه لحظي

    طريقتك صحيحه

    لاحظ انا وش كتبت
    -------------------
    لا تستخدمها لو اردت عمل اشياء اخرى بالمتغير بعد التحقق من الرقم ,, لان هذه الطريقه لحظيه , تقوم بالتغير في لحظه ويرجع المتغير كما كان
    --------------------

    نفسك كلامك ,, انت كتبت اخوي
    ---------------------

    اذا كان المطلوب فقط معرفة ما إذا كان المطلوب "رقم" أو من نوع (integer) فاستخدم
    ---------------------
    اختلاف الطرق في البرمجه لا يفسد للود قضيه :P
    تحياتي لك





    __________________
    محمد الرحيلي
    http://www.alrehaili.net
    http://www.arccn.net
    http://www.mafgod.com
    mohammad@arccn.net

  4. #19
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    بالعكس .. اختلاف الطرق في البرمجة يقدم للمجتمع العربي هدية :nice:





    __________________
    ....
    محمد حسام
    انترنت بلس

  5. #20


    اقتباس المشاركة الأصلية كتبت بواسطة إنترنت بلس
    بالعكس .. اختلاف الطرق في البرمجة يقدم للمجتمع العربي هدية :nice:






    __________________
    ArabBB ... SoooooN!

  6. #21
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    لا اعتقد ان تمرير دالة على مصفوفة بهذا الشكل صحيح

    $_GET= xxx($_GET);

    فما هو الصحيح يا ترى ؟؟؟





    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة

  7. #22
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    للرفع مع الضروره

    اخواني
    كيف امرر دالة على مصفوفه مثل GET او POST
    مثلا الدالة addslashes

    كيف امررها ؟؟
    لاني حاولت امررها مباشره مثل السطر التالي بس ما هو صحيح ابدا
    كود:
    $_GET = addslashes($_GET);






    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة

  8. #23
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,123


    كود PHP:
    $_GET clean_value($_GET); 






    __________________
    htaccess بكل بساطة

    الشفرة الموحدة "يونِكود"

    (إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي

  9. #24
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    عفوا اخوي jadweb.com
    لا اعتقد ان بهذه الطريقة سنمرر الدالة على جميع العناصر (items)
    و حتى جربها ما راح تظهر لك نفس النتيجه

    حتى شوف هنا

    في حالة استخدمنا الطريقه السابقة
    www.xxx.com/00.php?a=ahmed
    كود:
    $_GET = addslashes($_GET); 
    foreach($_GET as $xx)
    {
    echo $xx ;
    }
    النتيجه راح تصير
    Warning: Invalid argument supplied for foreach()

    و هذا يدل على ان المتغير $_GET لم يعد مصفوفة و هذا خطأ :court:





    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة

  10. #25
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311


    اقتباس المشاركة الأصلية كتبت بواسطة عبقري العرب
    عفوا اخوي jadweb.com
    لا اعتقد ان بهذه الطريقة سنمرر الدالة على جميع العناصر (items)
    و حتى جربها ما راح تظهر لك نفس النتيجه

    حتى شوف هنا

    في حالة استخدمنا الطريقه السابقة
    www.xxx.com/00.php?a=ahmed
    كود:
    $_GET = addslashes($_GET); 
    foreach($_GET as $xx)
    {
    echo $xx ;
    }
    النتيجه راح تصير
    Warning: Invalid argument supplied for foreach()

    و هذا يدل على ان المتغير $_GET لم يعد مصفوفة و هذا خطأ :court:

    استخدم

    كود PHP:
    $_GETarray_map('addslashes'$_GET); 
    لكن لو كانت magic_quotes_gpc مفعله في السيرفر php.ini ، سيتم إضافة السلاشز مرتين ولتفادي ذلك قم بإستخدام الشرط

    كود PHP:
    if (get_magic_quotes_gpc() == 0) {
    $_GETarray_map('addslashes'$_GET);

    وبالتالي الكود بعد التعديل :

    كود PHP:
    if (get_magic_quotes_gpc() == 0) {
    $_GETarray_map('addslashes'$_GET);
    }
    foreach(
    $_GET as $xx)
    {
    echo 
    $xx ;

    تحياتي






  11. #26
    عضو شرف
    تاريخ التسجيل
    Mar 2003
    المشاركات
    1,899


    اضافه للفائده

    في ال php توجد داله is_numeric

    وفائدتها هي التأكد من ان المدخل رقم او لا (اذا وجد حرف واحد فانها تعطي ان المدخل ليس رقم) وهذا كود للتوضيح

    كود PHP:
    // الداله ترجع true او false
    $cat $_GET['cat']; 
    if ( !
    is_numeric($cat) )   { 
    exit();
    }else{
    // اكمل العمليه


    امثله

    file.php?cat=1 //صحيحه ويكمل الاسكريبت
    file.php?cat=1 //غير صحيحه
    file.php?cat=1a //غير صحيحه
    file.php?cat=<script>alert("1")</script> //غير صحيحه

    ملاحظه : لايمكن الاعتماد على هذه الداله حيث يمكن التحايل عليها , اضفتها للافاده.


    تحياتي





    __________________
    محلل لنظم المعلومات - ارسل لي رساله خاصه عبر المنتدى | join me on facebook / twitter
    php | flash&flex&air actionscript 2,3 | ajax&javascript | database pro Analyzer

  12. #27
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311


    اقتباس المشاركة الأصلية كتبت بواسطة MohDesign
    اضافه للفائده

    في ال php توجد داله is_numeric

    وفائدتها هي التأكد من ان المدخل رقم او لا وهذا كود للتوضيح

    كود PHP:

    $cat 
    $_GET['cat']; 

    if ( !
    is_numeric($cat) )   { // اذا كانت ليست رقم
    exit(); // الخروج من الاسكريبت
    }else{
    // اكمل العمليه

    تحياتي
    يعطيك العافية ياعسل :shy:
    MohDesign يوم شفت اسمك قلت يا للهول :looking:
    :nice: كل عام وانت بخير






  13. #28
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    شكرا لك اخي العزيز Ziad
    و فعلا الكود اللي عطيتني اياه صحيح
    و كنت متأكد ان الطريقة العادية غير صحيحه
    و لكن الكثيرين من المبرمجين يخطأون فيها





    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض