У меня проблема со временем в разделе новостей. Количество времени правильное, но когда это на самом деле pm, он отправил am и наоборот.Проводка обратного времени на php
Вот коды:
insertnews.php
<?php
$news = $_POST['news'];
date_default_timezone_set('Asia/Manila');
$dateposted = date('Y/m/d h:i:s a', time());
$con = mysqli_connect("localhost", "root", "root", "chess");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con, "INSERT into news(dateposted,news) values('$dateposted', '$news')");
header('location: newslist.php');
?>
newslist.php
<?php
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("chess") or die(mysql_error());
$result = mysql_query("SELECT * FROM news")
or die(mysql_error());
$numrows = mysql_num_rows($result);
if ($numrows == 0) {
echo "No news";
} else {
echo "<table border=1>";
echo "<tr><td><b>Date Posted</b></td><td><b>News</b></td></tr>";
while ($row = mysql_fetch_array($result)) {
date_default_timezone_set('Asia/Manila');
$currentDateTime = $row['dateposted'];
$newDateTime = date('Y/m/d h:i:s a', strtotime($currentDateTime));
echo "<tr>" . "<td>" . $newDateTime . "</td> <td>" . $row['news'] . "</td><td><a href='editnews.php?id=" . $row['id'] . "'>Edit</a></td><td><a href='deletenews.php?id=" . $row['id'] . "'>Delete</a></td></tr>";
}
echo "</table>";
}
mysql_close();
?>
Я не понимаю, если как я могу решить эту проблему.
'var_dump ($ currentDateTime);' - Что вы получите? –
Чтобы предотвратить [SQL injection] (https://www.owasp.org/index.php/SQL_Injection), перейдите к [подготовленным операторам] (http://bobby-tables.com/php.html). И не лучше ли экономить время как временную метку? Таким образом, вы можете легко настроить отображение даты позже. –
@AmalMurali 'string '2014-01-06 12:02:16' (length = 19) string '2014-01-06 12:01:44' (length = 19) string '2014-01-06 12 : 12: 21 '(длина = 19) строка' 2014-01-06 12:20:54 '(длина = 19) строка' 2014-01-06 12:32:53 '(длина = 19) ' – pingboo23