🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ سجاد آقایی
چک کردن خالی نبودن فیلد‌های فرم در متاباکس ها
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۶ تیر ۱۴۰۲

سلام و عرض ادب

در دقیقه 8 این جلسه، استاد در یک شرط if خالی نبودن video_url و price رو با and قرار داده بودند که بعدش تصحیح کردن به OR

if (!empty($_POST['video_url']) || !empty($_POST['price']) ){
add or update meta box
}
if (!empty($_POST['video_url']) and !empty($_POST['price']) ){
add or update meta box
}

سوال اینجاست که اگر روی OR باشه، حتی اگه یکی از فیلد‌ها پر باشه، کدهای داخل IF اجرا میشه و باعث میشه حتی فیلدهای خالی هم ثبت بشن توی دیتابیس، و اگر روی and باشه الزام میکنه همه فیلد‌ها پر بشه، در صورتی که شاید کاربر یک فیلد رو نخواهد پر کنه...

تنها راه چاره اینه که تک تک فیلد‌ها بصورت جداگانه در یک if چک بشه؟ که در این صورت اگه تعداد فیلدهامون زیاد باشه مسلما تعداد if‌ها هم زیاد خواهد شد

آیا روش بهینه‌تر و یا ساده‌تری هم که با کد نویسی کمتری بشه این مورد رو انجام داد؟

با تشکر

سلام وقت بخیر

$_post بدون ایندکس یک آبجکتی از تمام name هایی هست که با متد پست ارسال میشه

پس

foreach($_post as name){
if(!empty($_post[name]
)){//update meta data 
}
}
ابوالفضل محجوب ۰۶ تیر ۱۴۰۲، ۰۸:۲۱