10초이내 글 재작성 금지를 하려고 합니다. 질문이요...
본문
글작성을 하면 아이피를 저장해서 해당 아이피가 전 글을 작성한지 10초가 지나지 않으면
alert창을 띄우고 지정 url로 이동시키려고 하는데요 일단 이렇게 했습니다.
$signdate = mktime();
$sql_ip = "select * from aaa where ip = '$_SERVER[REMOTE_ADDR]' order by signdate desc limit 1";
$result_ip = mysql_query($sql_ip);
$signdate_10 = $result_ip [signdate]+10;
if($signdate <= $signdate_10){
echo "alert('alert');";
echo "location.href='http://www.naver.com');";
}
위와 같이 작성했습니다만 10초 이내에 글을 재작성해도 그냥 통과가 되더라구요....
뭔가 빠진게 있는지 잘못된곳이 있는지 알려주시면 감사하겠습니다.
!-->답변 3
$result_ip = mysql_query($sql_ip);
$result_ip = mysql_fetch_assoc((mysql_query($sql_ip));
$signdate_10 = $result_ip [signdate]+10;
$signdate_10 = $result_ip[signdate]+10;
signdate 필드에 저장된 값이 datetime 형식인지 체크해보세요.
만약 그렇다면 signdate 값을 timestamp 형식으로 바꿔줘야 합니다.
$signdate_10 = strtotime($result_ip ['signdate']) + 10;
그누보드 기본 기능에 포함되어 있습니다.
다른페이지로 보내고 싶다면 \bbs\write_update.php 에서 다음 소스를
aelrt('너무 빠른 시간내에 게시물을 연속해서 올릴 수 없습니다.','http://보낼주소....');
로 변경하시면됩니다.
님이 짜신 소스는 datetime 필드 일겁니다. 계산 해야합니다. 단순히 10+ 한다고 되지 않을겁니다.
그리고
sql_query -> sql_fetch 로 변경하셔야하구요.
echo 에서도
echo "<script>";
echo "alert('alert');";
echo "location.href='http://www.naver.com');";
echo "</script>";
추가하셔야하구요. 좀 손볼때가 있네요.
정확한 답변을 받으려면 DB 필드 구성 페이지가 언제 실행되는지 등등 알아야 할꺼 같습니다.