Я пытаюсь отобразить время начала сеанса на странице в этом формате
«Сегодня вы приступили к работе в: 00:00»
Я нашел здесь оператор if времени начала сеанса при переполнении стека, но, похоже, он не работает для того, что я пытаюсь сделать, либо это, либо мой синтаксис неверен ... не уверен, я новичок в PHP, любая помощь будет быть оцененным.
print "<td>Today you started work at: " ;
if (!isset($_SESSION['started'])){
$_SESSION['started'] = $_SERVER['REQUEST_TIME']
print $_SESSION['started'];
};
Возможный дубликат Проверьте, не начался ли сеанс PHP






Никогда не забывайте добавлять ; в конце линейной инструкции.
$_SESSION['started'] = $_SERVER['REQUEST_TIME']
Этот код будет показывать значение только в том случае, если сеанс запускается впервые. потому что isset($_SESSION['started'])) будет ложный.
В этом случае он будет отображать только временную шкалу времени запроса.
$_SERVER['REQUEST_TIME']
Вы должны использовать функцию date() для форматирования времени
date("H:s",$_SESSION['started'])
Не забудьте также добавить функцию session_start() перед печатью.
Всегда закрывайте открытый HTML-тег
print "<td>Today you started work at: " ;
...
print "</td>" ;
Вот исправление:
session_start();
print "<td>Today you started work at: " ;
if (!isset($_SESSION['started'])){
$_SESSION['started'] = $_SERVER['REQUEST_TIME'];
}
print date("H:s",$_SESSION['started']);
print "</td>" ;
Используйте его как
$_SESSION['started'] = (!isset($_SESSION['started'] ? time() : $_SESSION['started']);