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