Я создаю сайт PHP и хочу добавить комментарии. Когда комментарии будут опубликованы, я хочу показать текущую дату, но получаю только это: 0000-00-00 00:00:00
У меня был тип datetime, по умолчанию CURRENT_TIMESTAMP, но он не работает. Я снял это, то же самое. У меня просто есть тип datetime на MySQL DB.
PHP-код:
<?php
include ('db_connect2.php');
require ('header.php');
require ('login.php');
include ('comments.php');
date_default_timezone_set('America/New_York');
<?php
echo "<form method='POST' action='".setComments($conn)."'>
<input type='hidden' name='user_id' value='Anonymous'>
<input type='hidden' name='posted' value='".date('YYYY-MM-DD
HH:MM:SS')."'>
<textarea name='body'></textarea><br><br>
<button name='commentSubmit' type='submit'>Comment</button>
</form>";
?>
comments.php
setComments($conn);
function setComments($conn) {
if (isset($_POST['commentSubmit'])){
$user_id = $_POST['user_id'];
$posted = $_POST['posted'];
$body = $_POST['body'];
$sql = "INSERT INTO comments (user_id, posted, body) VALUES
('$user_id', '$posted', '$body')";
$result = mysqli_query($conn, $sql);
}
}
function getComments($conn) {
$sql = "SELECT * FROM comments";
$result = mysqli_query($conn, $sql);
while ($row = $result->fetch_assoc()){
echo "<div class='comment-box'><p>";
echo $row['user_id']."<br>";
echo $row['posted']."<br>";
echo nl2br($row['body']);
echo "</p></div>";
}
}