یک اسکریپت PHP بنویسید که تاریخ وارد شده توسط کاربر (روز، ماه، سال) را دریافت کند و با استفاده از تابع checkdate اعتبارسنجی کند و در صورت معتبر بودن تاریخ را با فرمت YYYY-MM-DD چاپ کند و در غیر این صورت پیغام خطا نمایش دهد.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:02

0.0

برای حل این مسأله از ورودی‌های فرم (مثلاً $_POST) اعداد را به عدد صحیح تبدیل کنید و سپس تابع checkdate(month, day, year) را فراخوانی کنید. اگر true برگشت داده شد می‌توانید با DateTime یا sprintf تاریخ را به فرمت YYYY-MM-DD تبدیل و چاپ کنید؛ در غیر این صورت پیغام خطای مناسبی نشان دهید. نکته‌ها: ترتیب پارامترهای checkdate ماه، روز، سال است، مقادیر ورودی را پاکسازی/فیلتر کنید و از تبدیل به int برای جلوگیری از ورودی‌های غیراعداد استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 03:02
دسته بندی ها: PHP PHP for beginner
reyhaneh در 202 روز قبل ساعت 07:42

برای امنیت ورودی‌ها، مقادیر روز، ماه و سال را از $_POST گرفته و با فیلتر مناسب به عدد صحیح تبدیل کنید. به خاطر داشته باشید که تابع checkdate(month, day, year) به ترتیب ماه، روز و سال را می‌گیرد و مقادیر نامعتبر به false برمی‌گرداند؛ پس ورودی‌ها را با اعتبارسنجی دقیق بررسی کنید. اگر checkdate true بود، با DateTime یا sprintf قالب YYYY-MM-DD را تولید کرده و چاپ کنید و در غیر این صورت پیغام خطای دوستانه‌ای نمایش دهید. همچنین بهتر است ورودی‌ها را با فیلتر_input (مثلاً FILTER_SANITIZE_NUMBER_INT) یا FILTER_VALIDATE_INT پاکسازی کنید تا از ورودی‌های غیر عددی جلوگیری شود و کاربر را به اصلاح اطلاعات هدایت کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری