phpretard Posted March 29, 2009 Share Posted March 29, 2009 Why doesn't this work? $LicenseMM="01"; $LicenseDD="29"; $LicenseYY="2010"; $CurrentDay=date(d); $CurrentMonth=date(m); $CurrentYear=date(Y); if ($LicenseMM < $CurrentMonth || $LicenseDD < $CurrentDay && $LicenseYY == $CurrentYear){ echo"Your License Has Expired"; } // I HAVE TRIED THIS WAY TOO (extra parenthasize) if (($LicenseMM < $CurrentMonth || $LicenseDD < $CurrentDay) && ($LicenseYY == $CurrentYear)){ echo"Your License Has Expired"; } Thanks again. Link to comment https://forums.phpfreaks.com/topic/151612-solved-date-validation/ Share on other sites More sharing options...
PFMaBiSmAd Posted March 29, 2009 Share Posted March 29, 2009 Because logic is evaluated left to right and your conditional test is true if the month is less, so it never checks the day or year. You must test most signification part (year) to least significant part (day) and you can just directly compare yyyy-mm-dd formats because the parts of that format are ordered most significant to least significant - $License="2010-01-29"; $Current = date('Y-m-d'); if($License < $Current){ echo"Your License Has Expired"; } Link to comment https://forums.phpfreaks.com/topic/151612-solved-date-validation/#findComment-796252 Share on other sites More sharing options...
phpretard Posted March 29, 2009 Author Share Posted March 29, 2009 Thanks!!!!!!!!!!!! You just eliminated like 25 line of code for me. Link to comment https://forums.phpfreaks.com/topic/151612-solved-date-validation/#findComment-796259 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.