채택완료

10초이내 글 재작성 금지를 하려고 합니다. 질문이요...

2018-05-09 (수) 14:06:25 2,101

글작성을 하면 아이피를 저장해서 해당 아이피가 전 글을 작성한지 10초가 지나지 않으면

alert창을 띄우고 지정 url로 이동시키려고 하는데요 일단 이렇게 했습니다.

Copy
$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개 / 댓글 2개

채택된 답변
+20 포인트
2018-05-10 (목) 05:02:25

$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;

답변에 대한 댓글 1개

다른 방법으로 작업을 완료하였습니다만 답변 감사드립니다.

그누보드 기본 기능에 포함되어 있습니다.

thumb-1848609079_1525843021.6538_730x561.png

다른페이지로 보내고 싶다면 \bbs\write_update.php 에서 다음 소스를

thumb-1848609079_1525843146.668_730x246.png

aelrt('너무 빠른 시간내에 게시물을 연속해서 올릴 수 없습니다.','http://보낼주소....');

로 변경하시면됩니다.

님이 짜신 소스는 datetime 필드 일겁니다. 계산 해야합니다. 단순히 10+ 한다고 되지 않을겁니다.

그리고 

sql_query -> sql_fetch 로 변경하셔야하구요.

echo 에서도

echo "<script>";

echo "alert('alert');";             

echo "location.href='http://www.naver.com');";

echo "</script>";

추가하셔야하구요. 좀 손볼때가 있네요.

정확한 답변을 받으려면 DB 필드 구성 페이지가 언제 실행되는지 등등 알아야 할꺼 같습니다.

2018-05-09 (수) 14:15:39

signdate 필드에 저장된 값이 datetime 형식인지 체크해보세요.
만약 그렇다면 signdate 값을 timestamp 형식으로 바꿔줘야 합니다.
$signdate_10 = strtotime($result_ip ['signdate']) + 10;

답변에 대한 댓글 1개

datetime형식이 아닌 그냥 int형식으로 저장됩니다.....조건이 틀린걸까요.....왜 그냥 넘어가는지...ㅠㅠ

답변을 작성하려면 로그인이 필요합니다.