Пока вы полагаетесь на то, что JavaScript включен, вы можете создать скрытый элемент формы и назначить ему рассчитанную продолжительность, когда пользователь нажимает «Стоп».Само по себе это должна быть кнопка отправки.
Так что ваш Javascript будет выглядеть примерно так:
<script type="text/javascript">
var duration = 0;
...YOUR TIME CALCULATION CODE...
function assignDuration()
{
document.stopform.duration.value = duration;
}
</script>
И ваш HTML также будет иметь:
<form name="stopform" action="process-stop.php" method="POST">
<input type="hidden" name="duration" value="0"/>
<input type="submit" name="dostop" onClick="assignDuration()" value="Stop"/>
</form>
Вы будететакже нужен файл PHP, который обрабатывает значение длительности:
$duration = $_POST['duration'];
mysql_query('INSERT INTO MyTable (duration, technician) VALUES ('.$duration.', '.$technicianId.')');
Приведенный выше код предполагает, что у вас уже есть средства для идентификации пользователя.
Для записи я согласен с предыдущим комментарием озапись времени начала и окончания на сервере, а затем вычисление продолжительности там.Проблема с выполнением этого на стороне клиента - как уже было сказано - заключается в том, что пользователь способен изменять данные либо путем манипулирования кодом JavaScript, либо даже просто системным временем и датой.Также, если JavaScript не включен, то ни одна из функций таймера не будет работать вообще.
Если вы уверены, что JavaScript всегда будет включен и что пользователь не будет манипулировать им, тогда решение, как указано выше (иличто-то очень похожее) должно работать.
PS Возможно, вам придется перепроверить синтаксис для JavaScript и PHP, так как я только что набрал его на макушке и не видел его в редакторе кода.