나의질문답

새글등록 제한시간에 관해 여쭤볼 것이 있습니다.

예쁜꽃이피었으면 2015. 11. 2. 10:18

http://okky.kr/article/299582


안녕하세요~

게시판에 글을 작성하고 24시간이 지나야 새글을 작성할 수 있도록 했습니다.

처음 작성시작은 DB에 저장되어 있고

글 등록을 할 때 DB에 저장된 시간과 비교를 해서 24시간 미만이면 

24시간에 이후에 글 등록이 가능하다고 메시지를 뿌려주고 있습니다.


문제는.. 이게 되는 pc가 있고 안되는  pc가 있습니다. (모두 다른 pc입니다)

1. 개발자 : 작동 이상 無

2. 대표 : 24시간 제한 없이 계속 등록이 됨

3. 사용자 : 24시간이 지났지만 글등록제한 메시지가 뜨고 저장이 안됨.


이렇게 있는데요.. 더 이상한 건.. 저희가 같은 서버에 접속을 해서 테스트를 해봤는데 (운영중인 홈페이지)

이런 결과가 나와서.. 문제를 해결못하고 있습니다. 

서버에 시간도 현재시간과 잘 맞고요..


이런 경우가 있나요?  어디를 봐야 할까요?ㅠㅜ 계속 수정하라고는 하는데.. 원인을 못찾겠습니다,



감사합니다..



DB 에 저장되는 형식은 DATE 인가요?

Java에서 체크 하나요? DB에서 체크 하나요?

로그파일로 비교하는 부분의 두 날짜를 확인해 보시면 될 듯 한데요?



DB에 저장되어 있는 시간을 클라이언트 시간하고 비교 하고 있는것 아닌가요?



나: 

DB  에 글등록 저장 데이터는 datetime형식입니다.
쿼리로 체크 하고 있습니다.

 DATEDIFF(HOUR,REG_DATE,SYSDATETIME()) <![CDATA[<]]> 24; 이렇게요


SYSDATETIME 이 등록할 서버가 아니라 클라이언트 시간이랑 비교하는 것인가요..?



음.. 제 pc에서 시간을 며칠 후로 변경해도 잘 걸러집니다..



log4net 이나 이런 걸로 로그 한 번 찍어 보세요 

SYSDATETIME() 이 데이터가 어떻게 넘어오는 지 확인해 보면 될 듯 한데요



나: 

:해결했습니다


ajax을 사용했는데
이때에 캐시가 남아있어서 
새로운 글을 등록할때에도 어떤 pc는 계속 등록이 되고

어떤 pc는 계속 등록이 되지 않았던 것 같습니다.

반응형