验证表单输入:日期和时间
问题
希望确保用户输入的一个日期或时间是合法的。例如,希望确保用户不会试图计划在8月45日举办某个活动,也不会提供一个已经过期的信用卡。
解决方案
如果表单将月、日和年作为单独的元素,可以把这些值传入checkdate()。这会指出所提供的月、日和年是否合法。
检查一个特定的日期
if(! checkdate($_POST['month'], $_POST['day'],$_POST['year'])){
echo "The date you entered doesn't exist!";
}else{
echo $_POST['month'].'-'.$_POST['day'].'-'.$_POST['year'];
}
检查信用卡到期时间
// 信用卡到期月份的起始时间
// 使用mktime函数创建一个时间戳,表示信用卡到期月份的第一天0时0分0秒。
// $_POST['month'] 和 $_POST['year'] 分别从表单提交中获取信用卡到期月份和年份。
$expires = mktime(0, 0, 0, $_POST['month'], 1, $_POST['year']);
// 上个月的起始时间
// 使用strtotime函数从信用卡到期时间向前推算一个月,得到上个月的起始时间的时间戳。
// 注意:这里的'last month'是相对于$expires这个时间点的上个月。
$lastMonth = strtotime('last month', $expires);
// 检查当前时间是否超过了上个月的起始时间
// 如果当前时间(time()函数返回的时间戳)大于$lastMonth,
// 意味着信用卡在上个月之前就应该已经过期了(或者即将过期在一个月内),
// 因为我们是从信用卡到期日向前推算一个月作为检查点。
if(time() > $lastMonth){
// 如果上述条件为真,打印错误信息,告知用户信用卡过期太快。
print "Sorry, the credit card expires too soon.";
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战