حيلة مع ال GET ربما تنفعك !

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

سنتكلم عن حيلة أو طريقة أخرى للتعامل مع الـ GET

ما هو معروف عند جميع المبرمجين أن طريقة جلب معلومات من العنوان تكون عن طريق GET، وطريقة عملها هي
Test.php?id=254
ونكتبه برمجياً

$id=$_GET['id'];

ولكن ماذا لو أردنا أن نجعل الرابط هكذا
Test.php?254

بكل سهولة أولا يجب علينا معرفة أن $_GET تصبح مصفوفة يوجد داخلها المفتاح وقيمته. سنطبع ما يوجد في هذا الرابط test.php?id=254 لكي نفهم ماذا بداخل $_GET

Print_r($_GET); //Array ( [id] => 254 )

ولو أردنا أن نطبع هذا الرابط test.php?254 ؟
النتيجة هي أن القيمة ستصبح هي المفتاح أو بالأصح المتغير

Print_r($_GET); //Array ( [254] =>  )

لاحظ أن مكان القيمة أصبح فارغاً.

ولكن ماذا لو أردنا أن يكون الرابط يحتوي على الكثير من القيم؟
بكل بساطة سنضيف & ويكون الرابط هكذا test.php?id=254&cat=13
وستصبح المصفوفة بهذا هذا الشكل

Print_r($_GET); // Array ( [id] => 254 [cat] => 13 )

ومرة أخرى نزيل id و cat ليصبح هكذا

Print_r($_GET); // Array ( [254] => [13] => )

والآن كيف نستفيد من هذه الطريقة لاستخراج المعلومات من القاعدة؟

أولاً يجب أن تعرف كم لديك من المتغيرات في الرابط، فمثلا لدينا اثنان: الأول هو id والثاني هو cat
فبكل بساطة

/* نتأكد أولا من استخدام الرابط بشكل سليم
ونعمل حلقة تكرار لاستخراج ما يوجد في ال GET  وتخزينها في مصفوفة
*/
if(isset($_GET)){
foreach($_GET as $val => $value ){
$Nad[]=$val;
}
}
$id=$Nad[0]; // متغير يحفظ فيه رقم المقال على سبيل المثال
$cat=$Nad[1]; // متغير يحفظ فيه رقم القسم

// وتستخدمه في جلب المعلومات من القاعدة
$sql="select * from table_name where id='$id' AND cat='$cat'";
'";

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

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

  • Share/Bookmark

التعليقات (10) على ”حيلة مع ال GET ربما تنفعك !“

  1. رائعة أخي الكريم بالفعل حيلة رائعة يعني لم تخطر على بال أحد من قبل ان يطبع محتويات المتغير $_GET .جزاك الله كل خير.

    تحياتي
    فراس

  2. فكرة جديدة ومفيدة للحمايه ايضا ً

  3. عبدالله خالد

    بارك الله فيك أخي… طريقة جميلة
    اقتراح…
    بدل استخدام foreach للمرور على كل عنصر استخدم الدالة array_keys()
    وهي دالة تخزن قيم المفاتيح للمصفوفة في مصفوفة أخرى.
    http://php.net/array_keys

    أخوك

  4. شكرا على الردود
    وشكرا للأخ عبدالله خالد على الاضافة الرائعة…

  5. Philosophy

    أحسنت
    شرح رائع

  6. M.M.F

    nice trick man
    thanks alot

  7. شكراً على الدرس

  8. السلام عليكم،
    والله ما شاء الله عليك أخي عب الواحد إذا كنت ناقلها أو صانعها مش فرق هذا ينم عن فائدة للكل
    شكلك مش ساهل ياخويا وبرافو عليك
    جزاك الله خير وبجد في عقول عربية تفكر ولا تستكين وتتمنى الأفضل وبارك الله فيك

    بكري

  9. شكراً لك حيلة رائعة سوف أستفيد منها بإذن الله.

أضف تعليقك




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


* حقول مطلوبة