현재 사용자가 단일 보드 내장 컴퓨터에서 로컬 설정을 변경할 수있는 웹 페이지를 코딩하고 있습니다. 현재 작업중인 기능에는 보드의 시계와 사용자 컴퓨터의 시계를 동기화하는 것이 포함됩니다. Javascript Date() 함수를 사용하면 로컬 컴퓨터의 시간을 가져올 수 있으므로 현재 시간을 가져 오는 데 사용하고 있습니다.
나의 목표는 눌렀을 때 javascript Date() 함수에서 정확한 시간을 가져온 다음 POST 메서드를 사용하여 해당 시간을 PHP 코드로 반환하는 제출 단추를 만드는 것입니다. 값을 POST해야하는 이유는 보드의 시간 설정을 변경할 수있는 권한이있는 Linux 명령 줄 프로그램을 실행할 수 있기 때문입니다.
지금 보드가 올바르게 시간을 가져 와서 올바르게 게시하지만 문제는 제출 된 버튼을 클릭 한 시간이 아니라 페이지가로드 된 시간이 반환된다는 것입니다.
사용자가 5 분 동안 웹 페이지에 앉아서 해당 버튼을 클릭하면 보드의 시계가 5 분 뒤에 시간이 전송되기 때문에 이것은 문제입니다.
게시 된 숨겨진 입력 항목에 값을 할당하여 게시하려고 시도했지만 게시 된 시간은 페이지로드 시간입니다. 내가 시도한 또 다른 방법은 <body>
태그에 자바 스크립트 함수의 onUnload 호출을 추가하는 것이지만 동일한 메소드를 사용하여 해당 시간을 전달하려고 시도 할 때 값이 게시되지 않는 것처럼 보입니다. 사전에
<?php
echo "<form method='POST' action='".$PHP_SELF."'>";
if (isset($_POST['getLocalTime']))
{
echo $_POST['localTime'].'<br>';
$setLocalTime = "My Commandline String";
exec($setLocalTime);
}
?>
<input type="hidden" id="localTime" name="localTime">
<script language='JavaScript'>
var date = new Date();
var d = date.getUTCDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getUTCMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var year = date.getUTCFullYear();
var h = date.getUTCHours();
var hour = (h < 10) ? '0' + h : h;
var mi = date.getUTCMinutes();
var minute = (mi < 10) ? '0' + mi : mi;
var sc = date.getUTCSeconds();
var second = (sc < 10) ? '0' + sc : sc;
var loctime = month + day + hour + minute + year + "." + second;
document.getElementById('localTime').value = loctime;
</script>
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
<input class="button" type="submit" name="getLocalTime" value="Copy Local Time">
</form>
내가 제공 할 수있는 모든 제안을 주셔서 감사합니다, 감사 : 여기
는 중요한 코드 나는 현재 함께 일하고 덩어리이다.
대단히 감사합니다! 그것은 완벽하게 작동합니다! – jetbomber117