السلام عليكم,
كنت اعمل قبل فترة قصيرة على مشروع, وفي اثناء تحديث البرنامج واجهتني مشكلة صغيرة نسبيا,
حيث يتم ارسال checkbox ويكون بID متغير حيث يوجد عدد من الجيك بوكس بأسم واحد ويتم الارسال عن طريق POST الى الدالة الخاصة به, ولكن عند الدالة لا تصل بيانات الجيك بوكس وتظهر فارغة وعندما اقوم بأضافة اسم البوست للجيك البوكس المطلوب بشكل يدوي تظهر البيانات بدون اي مشكلة!
بعد ان عملت فحص باستخدام GLOBAL و REQUEST لكي يظهر لي كل البيانات المرسلة عن طريق البوست اكتشفت ان البيانات اصلا ترسل فارغة, واتضح ان الخطا موجود في صفحة الواجهة لذلك قمت بفحص صفحة الواجهة بنفس الطريقة وايضا ظهرت نفس المشكلة, عندما اقوم بكتابة اسم البوست بشكل يدوي تظهر البيانات ولكن بالشكل الديناميكي لا يظهر شيء, وبعد بحث متواصل ومراجعة للكود لمدة يومين!! اتضحت المشكلة.
حيث انني عندما اقوم بأرسال البوست الخاص بالجيك بوكس استخدم اسم ديناميكي (متغير) يعتمد على معرف البيانات, وعندما يتم كتابة الاسم فأن صفحة الHTML تقوم بأضافة فراغ صغير جدا بين الكلمة الثابتة والمعرف المتغير مثل:
$_POST['test'.$id]
والحل لمثل هذه مشكلة جدا بسيط, استخدم دالة الحذف للتخلص من كل فراغ او شكل اخر غير مرغوب فيه, مثل:
trim($_POST['test'.$id]);
يمكنك استخدامه اما في الدالة التي تريد القيام بالعمل فيها, او في صفحة الواجهة قبل الارسال.
اي سؤال او استفسار اتركه في التعليقات وسأرد بأسرع وقت ممكن 🙂 .
اترك تعليقاً