Я новичок в PHP и не считаю себя кодером. Я занимаюсь своим первым действием, основанным на базе данных, и у меня возникают проблемы с правильной форматировкой даты. Строка, в которой я форматирую дату, кажется, игнорируется. Я делаю что-то невероятно неправильно?Формат вывода даты в PHP
Это то, что выводит на странице:
Comment from: Jeremiah
1289594028
here is my comment
Вот код:
<?php
$name = $_POST['name'];
$comment = $_POST['comment'];
if($name && $comment and ereg("^[A-Za-z0-9' -]+$",$name) and ereg("^[A-Za-z0-9' -,.:;()!?&#@'/]+$",$comment))
{
mysql_query("insert into pilot_comments (name,comment,date,page) values ('$name', '$comment',NOW(),'challenge1')");
}
elseif($_POST['submitted']==1)
{
echo "<img src='images/structure/commenting_spacer.png' height='1' width='249'>";
echo "<br /><br /><div style='width:209px; background-color:#ff0000; padding:20px'><span class='white bold fourteen'>Uh oh! You may have:<br /><br />(1) Entered special characters, or <br /><br />(2) Not entered text into both fields.</span><br /><br /><span class='white twelve'>(This helps me fight spam. Thanks for understanding.)</span></div><br /><br />";
}
?>
<?php
$result = mysql_query("select name,comment,UNIX_TIMESTAMP(date) from pilot_comments where page='challenge1' order by date desc");
echo mysql_error();
$date = date("l, F j, Y \a\t g:i:s \P\S\T",$date);
while(list($name,$comment,$date) = mysql_fetch_row($result))
{
echo "<img src='images/structure/commenting_spacer.png' height='1' width='249'>";
echo "<div STYLE='word-wrap:break-word;width:249px;left:0px'><span class='twelve gray'><br />Comment from: </span><span class='twelve gray bold'>$name</span></div>";
echo "<span class='ten light-gray bold'>$date<br /><br /></span>";
echo "<div STYLE='word-wrap:break-word;width:249px;left:0px'><span class='fourteen green bold'>$comment</span></div><br /><br />";
}
?>
+1 для указания уязвимости. –
И, конечно же, MySQL отлично подходит для форматирования даты: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format. Возможно, лучше сделать это на стороне БД и сохранить двойное преобразование (mysql date -> string вместо mysql -> php -> string). –
Спасибо. Работает без проблем. И дополнительная благодарность за ужесточение моей безопасности! – Jeremiah