当用户从“servicerequired”下拉菜单中选择“A”值时,我使用以下代码发送网络邮件和短信通知。它工作得非常好,但是我每天晚上8点到凌晨5点将时间表从“残疾人”改为:
周一至周五“禁用”在晚上8点至早上5点之间以及上午7点至下午4点之间 周日和周六晚上8点至凌晨5点“禁用”
这是我目前的代码,它阻止网络短信从每天晚上8点到凌晨5点发送:
if ($_POST['submit']) {
$sms="";
$subject="";
$from = "";
$service = $_REQUEST['servicerequired'] ;
$headers = "";
$message="message";
if($_POST['servicerequired']=='A' && (date("G")>5 && date("G")<20) ){
@mail($sms, $subject, $message, $headers);
}
HTML标记:
<form action="" method="post">
<select name="servicerequired">
<option value="A">A</option>
<option value="B">B</option>
</select>
<input value="submit" name="submit" />
</form>
现在已经开始了几天。我做了一些研究并想出了这个解决方案,但我不确定这是最好的做法,还是有效。
我的解决方案:
if($_POST['servicerequired']=='A')
{
if(date("W")=0 || date("W")=6) && (date("G")>5 && date("G")<20)
{
@mail($sms, $subject, $message, $header);
}
else if
{
(date("W")>0 && date("W")<6) && (date("G")>5 && date("G")<20)
}
else
{
@mail($sms, $subject, $message, $header);
}
}
感谢您的帮助,如果您认为可以改进此帖子,请考虑添加评论:)
答案 0 :(得分:1)
<强>更新的* * **** 强>
尝试:
if($_POST['servicerequired']=='A')
{
switch (date("N"))
{
case 6: //Saturday
if(date("G")>5 && date("G")<20)
{
@mail($sms, $subject, $message, $header);
}
break;
case 7: //Sunday
if(date("G")>5 && date("G")<20)
{
@mail($sms, $subject, $message, $header);
}
break;
case 1: //Monday
if(date("G")>5 && date("G")<20 && date("G")>16 && date("G")<7)
{
@mail($sms, $subject, $message, $header);
}
break;
case 2: //Tuesday
if(date("G")>5 && date("G")<20 && date("G")>16 && date("G")<7)
{
@mail($sms, $subject, $message, $header);
}
break;
case 3: //Wednesday
if(date("G")>5 && date("G")<20 && date("G")>16 && date("G")<7)
{
@mail($sms, $subject, $message, $header);
}
break;
case 4: //Thursday
if(date("G")>5 && date("G")<20 && date("G")>16 && date("G")<7)
{
@mail($sms, $subject, $message, $header);
}
break;
case 5: //Friday
if(date("G")>5 && date("G")<20 && date("G")>16 && date("G")<7)
{
@mail($sms, $subject, $message, $header);
}
}
}