PHP周日复选框值失效问题求助
问题根源
PHP的date('w')函数返回值规则为:周日对应0,周一到周六分别对应1-6。但你的代码里周日复选框的value设为了7,导致判断条件$day==$sun永远无法成立——即使勾选周日,$sun的值是7,而周日对应的$day是0,两者不相等,所以始终触发Day off分支。
修复方案
两种简单修复方式任选其一即可:
方案1:修改HTML中周日的value值
将周日的隐藏输入框和复选框value改为0,与date('w')的返回值匹配:
<!-- add.php中周日的输入部分修改为 --> <input type="hidden" name="sun" value="0" > <input class="form-check-input" type="checkbox" id="inlineCheckbox7" name="sun" value="0">
方案2:修改PHP的判断逻辑
保持HTML不变,调整周日的判断规则,把$day==$sun替换为$day==0 AND $sun!=0:
$day=date('w', strtotime($current_date)); if( ($day==$mon AND $mon!=0) OR ($day==$tues AND $tues!=0) OR ($day==$wed AND $wed!=0) OR ($day==$thurs AND $thurs!=0) OR ($day==$fri AND $fri!=0) OR ($day==$sat AND $sat!=0) OR ($day==0 AND $sun!=0) // 调整周日判断逻辑 ){ $status='Present'; }else{ $status='Day off'; }
内容的提问来源于stack exchange,提问作者user13800891
相关产品推荐
相关产品推荐

