2012-11-29 6 views
-1

저는 아직 초보자이지만, 도움이 필요합니다. 내가 코멘트에 대한 날짜 형식을 가지고 있고, "시간 전"형식을 삽입하려고합니다. 그리고 나는 그것에 문제가있다. 난로, 성공적인날짜 형식 시간 전

<div class="article-body"> 
<div class="user"><b><?php echo $row['name'] ?></b> <span>says:</span></div> 
<div class="comments"> 
<?php echo $row['comment'] ?> <br /><p></p> 

<p style="font-size:12px;">Posted on <b><?php echo $row['date'] ?></b></p> 
</div> 
</div> 

내가 구글을 사용하여 몇 가지 코드를 만지작 시도했지만 없음 : 출력

<?php 
$name = mysql_real_escape_string($_POST['name']); 
$comment = mysql_real_escape_string($_POST['comment']); 
$submit = $_POST['submit']; 
$date = date("M jS Y | g:i a T"); 
$ip = "".$_SERVER['REMOTE_ADDR'].""; 

if($submit) 
{ 
if($name&&$comment) 
{ 

$query=mysql_query(" 

INSERT INTO comment (id, articleid, name, comment, date, ip) VALUES ('','". mysql_real_escape_string($_GET['id']) ."','$name','$comment','$date','$ip') 

"); 
header("Location: " . mysql_real_escape_string($_GET['id']) . ""); 

} 
else 
{ 
    echo "<div class='red'>You must fill in all fields!</div>"; 
} 

} 여기 >

거야?이 코드입니다 멍청한 놈. 하하.

이 부분에 대한 의견이 있으십니까?

감사합니다.

+0

왜 'Location :'헤더에서 사용하기 전에 MySQL을 위해 무엇인가를 탈출 하시겠습니까? 그건 말이 안돼. 또한, HTML/XHTML 컨텍스트 내에서 변수 데이터를 사용할 때 변수 데이터를'htmlspecialchars()'로 래핑하지 않으면 XSS 취약점이 발생한다. – Brad

+0

"저는 아직 초보자입니다." 그렇다고 모든 것을 피하는 것은 초보자/미숙 한 사람의 실수입니다. – Steve

+1

[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오. (http://bit.ly/phpmsql). 그들은 더 이상 유지 관리되지 않으며 [비추천 프로세스] (http://j.mp/Rj2iVR)가 시작되었습니다. [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). –

답변

0

귀하의 MySQL 테이블 스키마/데이터 유형을 보지 않고 귀하의 date 데이터가 잘못된 date 값일 것입니다. 이 매뉴얼에 따르면 this-

$query=mysql_query("INSERT INTO comment (id, articleid, name, comment, date, ip) VALUES ('','". mysql_real_escape_string($_GET['id']) ."','$name','$comment','$date','$ip')") or die(mysql_error); 

을 확인하기 위해 쿼리에

$date = date("M jS Y | g:i a T"); 

당신은 or die(mysql_error)을 추가 할 수 있습니다 (나는 당신의 date 열이 TEXT 또는 VARCHAR 아니라고 가정) - http://dev.mysql.com/doc/refman/5.6/en/datetime.html 데이터 유형 날짜는 date, datetimetimestamp입니다.

date => 'YYYY-MM-DD' => set in php using date("Y-m-d"); 
datetime => 'YYYY-MM-DD HH:MM:SS' => set in php using date("Y-m-d H:i:s"); 
timestamp => 0000000000 => set in php using strtotime(date("Y-m-d H:i:s")); 
+0

나는 지난 게시 된 분/시간/일/개월 전의 위치를 ​​단순히 추가하려고합니다. – TrippedStackers

+0

그래서 문제가 있습니까? 오류 메시지가 나타 납니까? 오류 메시지가 나타나지 않으면'ini_set ('display_errors', 1); error_reporting (E_ALL);'PHP 스크립트의 맨 위에. – Sean