PHP Forms Validating Form Input: Dates and Times - Supercoders | Web Development and Design | Tutorial for Java, PHP, HTML, Javascript PHP Forms Validating Form Input: Dates and Times - Supercoders | Web Development and Design | Tutorial for Java, PHP, HTML, Javascript

Breaking

Post Top Ad

Post Top Ad

Saturday, June 1, 2019

PHP Forms Validating Form Input: Dates and Times

PHP Forms 




Validating Form Input: Dates and Times

Problem

You want to make sure that a date or time a user entered is valid. For example, you want to ensure that a user hasn’t attempted to schedule an event for the 45th of August or provided a credit card that has already expired.

Solution


Example  Checking a particular date

         if (! checkdate($_POST['month'], $_POST['day'], $_POST['year'])) {
               print "The date you entered doesn't exist!";
         }

To check that a date is before or after a particular value, convert the user-supplied values to a timestamp, compute the timestamp for the threshhold date, and compare the two.

Example  Checking credit card expiration

         // The beginning of the month in which the credit card expires
         $expires = mktime(0, 0, 0, $_POST['month'], 1, $_POST['year']);
         // The beginning of the previous month
         $lastMonth = strtotime('last month', $expires);
         if (time() > $lastMonth) {
              print "Sorry, that credit card expires too soon.";
         }

Discussion

The checkdate() function is handy because it knows about leap year and how many days are in each month, saving you from tedious comparisons of each component of the date. For range validations—making sure a date or time is before, after, or between other dates or times—it’s easiest to work with epoch timestamps.



No comments:

Post a Comment

Post Top Ad