我尝试创建一个允许用户输入时间/持续时间(hh:mm)的程序。如果此时间/持续时间超过一小时,则将15分钟添加到名为“MaintenanceDuration”的变量中。如果他们的输入小于或等于一小时,则添加10分钟。
当我运行代码时,它只会增加10分钟,尽管输入超过一小时。
我被告知它是因为$Duration
未设置/定义,但是当用户提交输入时肯定是这样吗?
HTML:
<html>
<body>
<form action="maintenance-formula.php" method="post">
Duration: <input type="time" name="Duration" id="Duration"><br>
<input type="submit">
</form>
</body>
</html>
PHP:
<?php
$Duration = $_POST['Duration'];
if ($Duration > strtotime('1:00:00')) {
echo "Added 15 maintenance minutes!";
$MaintenanceDuration = strtotime('0:15:00');
} else {
echo "Added 10 maintenance minutes!";
$MaintenanceDuration = strtotime('0:10:00');
}
$MaintenanceDuration = strftime('%H:%M', $MaintenanceDuration);
echo $MaintenanceDuration;
?>
非常感谢任何帮助。
答案 0 :(得分:0)
如果$Duration
严格按hh:mm
格式提供,则必须解析它。
$parsedDuration = explode(':', $Duration);
$hours = intval($parsedDuration[0]);
$mins = intval($parsedDuration[1]);
if ($hours > 0 && $mins > 0) {
echo "Added 15 maintenance minutes!";
$MaintenanceDuration = strtotime('0:15:00');
} else {
echo "Added 10 maintenance minutes!";
$MaintenanceDuration = strtotime('0:10:00');
}