目前我正在网上商店工作,该网上商店在同一天17:00之前发出订单。在成功或感谢页面上,我希望在17:00之前,17:00之后和周末之前发送消息。所以有三条消息。
我现在正在尝试使用PHP:
<?php
//Show message
$before_17 = "Order received before 17:00, will ship today.";
$after_17="Order placed after 17:00, will ship tomorrow.";
$weekend = "It's weekend, order will be shipped on Monday.";
//Time & Day
$current_time = date(H);
$current_day = date(D);
//Saturday
if ($current_day == Sat){
echo $weekend;
}
//Sunday
elseif ($current_day == Sun){
echo $weekend;
}
//Weekdays > 17
elseif ($current_time > 17){
echo $after_17;
}
//Weekdays < 17
elseif($current_time < 17){
echo $before_17;
}
else{
echo 'Niks';
}
?>
我希望这应该可以解决问题,但页面仍然会在17:00之后显示$ before_17。难道我做错了什么?
答案 0 :(得分:0)
EDIT;
我刚刚注意到另一个问题。你应该使用if ($current_time >= 17)
(不只是大于),否则它将在18小时后生效。
另外你应该在date()
中使用引号!试试date('H')
&amp; date('D')
代替date(H)
和date(D)
。当天的报价比较if ($current_day === 'Sun')
。
如果失败,你应该echo date('H');
确保服务器上的时间设置正确。
答案 1 :(得分:0)
1 - 在date()中使用引号。比如date('D')
2-在if中比较字符串时使用引号。比如if($current_day=='Sun')
答案 2 :(得分:0)