테스트 사이트 - 개발 중인 베타 버전입니다

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

kujira 7년 전 조회 1,939

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

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

</strong></p>

<p><strong>$signdate = mktime();</strong></p>

<p><strong>$sql_ip = "select * from aaa where ip = '$_SERVER[REMOTE_ADDR]' order by signdate desc limit 1";</strong></p>

<p><strong>$result_ip = mysql_query($sql_ip);</strong></p>

<p><strong>$signdate_10 = $result_ip [signdate]+10;</strong></p>

<p> </p>

<p>if($signdate <= $signdate_10){

            echo "alert('alert');";

            echo "location.href='<a href="http://www.naver.com');";" target="_blank" rel="noopener noreferrer">http://www.naver.com');";</a>

        }</p>

<p><strong>

 

위와 같이 작성했습니다만 10초 이내에 글을 재작성해도 그냥 통과가 되더라구요....

뭔가 빠진게 있는지 잘못된곳이 있는지 알려주시면 감사하겠습니다.

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

답변 3개

채택된 답변
+20 포인트

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

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

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

7년 전

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

 

 

다른페이지로 보내고 싶다면 \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 필드 구성 페이지가 언제 실행되는지 등등 알아야 할꺼 같습니다.

로그인 후 평가할 수 있습니다

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

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

로그인