Checking a valid date entered by user in PHPMany times we have to check the date entered are in correct format or not. The combination of entered month date and year by a user has to be a valid date to use in our applications. Even if we give a selection or a drop down list box to select a date we have to check the combination of month, day and year selection is valid or not. User may select 29th Feb 2005 (which is not a leap year ) or it may select 31st Nov of any year. So the combination has to be checked.
For this PHP has a checkdate() function which takes care of leap year checking also. This function validates the date and returns true if date is correct or false if date is wrong or does not exist. Here is the format
int checkdate (int month, int day, int year)
If you are using the drop down date combination for selection or asking to enter date in a format, better to validate date by using checkdate function.
Here is the case where checkdate will return false
If we are asking the user to enter date in a text field then we have to break the entered date value by using split function and then use the checkdate function to validate the date data ( of user ). Here we are collecting the user entered date value of a form posted by POST method.
echo “invalid date”;
echo “Entry date is correct “;
We can use data entered by user in a query in MySQL table for getting ( selecting ) matching records.
$arr=split("/",$dt); // splitting the array
$mm=$arr; // first element of the array is month
$dd=$arr; // second element is date
$yy=$arr; // third element is year
echo "invalid date";
echo "Entry date is correct";
|Click for more tutorial on Date & Time functions and Applications|
|how to compare the data entered by the user to the data in the database?|
|It can be used in a sql query. A link is added now on this at the end of the tutorial above. |
|how to check a date already entered in database is within the range of a date and duration currently entered by a user? |
|In SQL section you can read this article on how to get record between two dates. |
|Just remember this, in SQL, valid format is 'Y-m-d' and day and month must be in 2 digits char.|
|send email befor one day to friends birthday|