정한 기간 지난 게시물 감추기 (흥미로운 예제) 정보
정한 기간 지난 게시물 감추기 (흥미로운 예제)본문
다음은 검색하면서 찾아낸 우기파파님이 팁인데요.
------------------------------------------------------------------------------------------------------------------------
</td></tr>
<? //코멘트 쓰기 출력시작
$now_timestamp=time(); //현재시간을 timestamp로 받는다.
$comment_sql = "select wr_datetime from $write_table where wr_id = '$wr_id' and wr_is_comment = '0'";
$comment_datetime = sql_fetch($comment_sql);
$comment[year] = substr($comment_datetime[wr_datetime],0,4); //글쓴 년도를 받는다
$comment[mon] = substr($comment_datetime[wr_datetime],5,2); //글쓴 월을 받는다
$comment[day] = substr($comment_datetime[wr_datetime],8,2); //글쓴 날짜를 받는다
$comment[timestamp] = mktime(23, 59, 59, $comment[mon], $comment[day]+7, $comment[year]); // 글쓴년월일+7을 timestamp로 받는다.
if($comment[timestamp] > $now_timestamp){ //글쓴년월일과 현재의 timestamp값을 비교한다.
?>
<!--여기부터가 코멘트쓰기폼시작되는부분--->
<tr><td style='background:#F8F8F9;'>
<span id=comment_write style='display:none;'>
<form name="fviewcomment" method="post" action="./write_comment_update.php" onsubmit="return fviewcomment_submit(this);" autocomplete="off" style="margin:0px;">
.
.
.
.
.
.
</form>
</span>
</td>
</tr>
<!--여기까지가 코멘트쓰기폼끝나는 부분--->
<?}else{ // 코멘트 쓰기 출력 끝?>
<tr>
<td colspan="2" align="center">
<table width="60%" cellpadding="0" style='border:1px solid #dddddd;background:#F8F8F9;'>
<tr>
<td align="center" height="50" style='word-break:break-all;'>
<font color="red">일주일이 지난 글에는 댓글 금지!</font>
</td>
</tr>
</table>
</td>
</tr>
<?}?>
여기까지 처리해주시면 폼은 안나오게 되는데 아래쪽의 스크립트에서 글쓰기폼을 체크합니다 때문에 스크립트 오류가 나구요.. 때문에 아래와 같이 스크립트 출력부분에 한번더 if문을 걸어줍니다.
<? if($coment[timestamp] > $now_timestamp){ //글쓴년월일과 현재의 timestamp값을 비교한다.?>
<script language='JavaScript'>
.
.
.
</script>
<?}?>
------------------------------------------------------------------------------------------------------------------------
보시다시피 코멘트를 감추는 방법입니다.
살펴본결과 지난 게시물도 감출 수 있겠다 싶었는데요.
어떻게 해야 할까요?
comment를 write로 바꿔서 적용해봐야되나요?
마지막 스크립트가 걸리는데...
------------------------------------------------------------------------------------------------------------------------
</td></tr>
<? //코멘트 쓰기 출력시작
$now_timestamp=time(); //현재시간을 timestamp로 받는다.
$comment_sql = "select wr_datetime from $write_table where wr_id = '$wr_id' and wr_is_comment = '0'";
$comment_datetime = sql_fetch($comment_sql);
$comment[year] = substr($comment_datetime[wr_datetime],0,4); //글쓴 년도를 받는다
$comment[mon] = substr($comment_datetime[wr_datetime],5,2); //글쓴 월을 받는다
$comment[day] = substr($comment_datetime[wr_datetime],8,2); //글쓴 날짜를 받는다
$comment[timestamp] = mktime(23, 59, 59, $comment[mon], $comment[day]+7, $comment[year]); // 글쓴년월일+7을 timestamp로 받는다.
if($comment[timestamp] > $now_timestamp){ //글쓴년월일과 현재의 timestamp값을 비교한다.
?>
<!--여기부터가 코멘트쓰기폼시작되는부분--->
<tr><td style='background:#F8F8F9;'>
<span id=comment_write style='display:none;'>
<form name="fviewcomment" method="post" action="./write_comment_update.php" onsubmit="return fviewcomment_submit(this);" autocomplete="off" style="margin:0px;">
.
.
.
.
.
.
</form>
</span>
</td>
</tr>
<!--여기까지가 코멘트쓰기폼끝나는 부분--->
<?}else{ // 코멘트 쓰기 출력 끝?>
<tr>
<td colspan="2" align="center">
<table width="60%" cellpadding="0" style='border:1px solid #dddddd;background:#F8F8F9;'>
<tr>
<td align="center" height="50" style='word-break:break-all;'>
<font color="red">일주일이 지난 글에는 댓글 금지!</font>
</td>
</tr>
</table>
</td>
</tr>
<?}?>
여기까지 처리해주시면 폼은 안나오게 되는데 아래쪽의 스크립트에서 글쓰기폼을 체크합니다 때문에 스크립트 오류가 나구요.. 때문에 아래와 같이 스크립트 출력부분에 한번더 if문을 걸어줍니다.
<? if($coment[timestamp] > $now_timestamp){ //글쓴년월일과 현재의 timestamp값을 비교한다.?>
<script language='JavaScript'>
.
.
.
</script>
<?}?>
------------------------------------------------------------------------------------------------------------------------
보시다시피 코멘트를 감추는 방법입니다.
살펴본결과 지난 게시물도 감출 수 있겠다 싶었는데요.
어떻게 해야 할까요?
comment를 write로 바꿔서 적용해봐야되나요?
마지막 스크립트가 걸리는데...
댓글 전체

코멘트를 감추는 것이 아니고
입력을 못하게 하는 것입니다.
위 코드는 view.skin.php에서 해 주는 것일 테고요.
지난 게시물을 목록에서 감추고 싶으신 건가요?
아니면 단순히 view.skin.php에서 경고 창만 띄우는 것인가요?
입력을 못하게 하는 것입니다.
위 코드는 view.skin.php에서 해 주는 것일 테고요.
지난 게시물을 목록에서 감추고 싶으신 건가요?
아니면 단순히 view.skin.php에서 경고 창만 띄우는 것인가요?