PHP فهرس غير محدد مع $_POST [Duplicate]
في PHP، يؤدي الوصول إلى عنصر صفيف غير محدد إلى حدوث خطأ في وقت التشغيل، مما يؤدي إلى " إشعار الفهرس غير المحدد. يحدث هذا غالبًا عند اختبار المتغيرات الفارغة في النماذج، مثل البرامج النصية لتسجيل دخول المستخدم.
يوضح الكود المبسط المشكلة:
$user = $_POST["username"];
if($user != null)
{
echo $user;
echo " is your username";
}
else
{
echo "no username supplied";
}
بينما يعمل الرمز كما هو متوقع عند وجود اسم مستخدم، فإنه يفشل مع ظهور الخطأ "فهرس غير محدد: اسم المستخدم" عندما لا يتم توفير أي شيء. يحدث هذا لأن $_POST لا يحتوي على مفتاح "اسم المستخدم" عندما لا يتم إرسال أي بيانات.
لحل هذه المشكلة، استخدم عامل التشغيل isset() للتحقق من وجود متغير أو عنصر صفيف قبل الوصول إليه. بهذه الطريقة، يتم منع حدوث الخطأ قبل محاولة استرداد القيمة.
if (isset($_POST["username"]))
{
$user = $_POST["username"];
echo "$user is your username";
}
else
{
$user = null;
echo "no username supplied";
}
في هذا الكود المحدث، تضمن isset() وجود مفتاح "اسم المستخدم" في $_POST قبل تعيين قيمته إلى $user. يؤدي هذا إلى التخلص من خطأ وقت التشغيل ويسمح لك بالتعامل مع حالة اسم مستخدم فارغ بشكل صحيح.
من الجدير بالذكر أن عناصر المصفوفة المفقودة هي أخطاء بسيطة في وقت التشغيل (مستوى E_NOTICE). قد يؤدي تجاهل الإشعارات إلى السماح بتنفيذ التعليمات البرمجية الخاصة بك على النحو المنشود، ولكنه يعتبر ممارسة سيئة، خاصة في بيئات الإنتاج.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3