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

게시판 글등록 관련 질문 드립니다... 채택완료

하루야채 10년 전 조회 3,937
게시물에  등록한사람이 작성후  다음사람이 300초지나야 등록할수있게 하려합니다 
 
아래내용은 검색하다 균이님께서  http://sir.co.kr/qa/?wr_id=6513">http://sir.co.kr/qa/?wr_id=6513 남기신 답변입니다
 
wr_ip 바꾸면 가능한가요
 
$limt_time=​ date("Y-m-d H:i:s", $g4[server_time]- 300);
$myip=$_SERVER['REMOTE_ADDR'];
$row=sql_fetch("select count(wr_id) as cnt from $write_table where wr_datetime>='$limit_time' and wr_ip='$myip'");
if($row[cnt]) alert("300초 지나야 등록 가능","이동해버릴 페이지");

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

답변 3개

채택된 답변
+20 포인트

관리자를 제외한 누가 작성을 했던지 300초가 지나야 한다면 구지 wr_ip를 사용할 필요가 없겠지요.

and wr_ip ='myip' 는 필요가 없습니다

 

wr_id의 최대 값에 해당하는 글의 wr_datetime 와  

$g4[server_time] - $config[cf_delay_sec] 이 값을 뺀값의 차를 구해서  

$config[cf_delay_sec] 이 값보다 크면 입력되게 해주고 이 값보다 작으면 입력되지 못하게 막아야 겠지요

 

그러므로  

if($w == "" || $w == "r")

{

 

}

이러한 구문을 새로 만들어야 합니다

그리고 이 안에 바로 쿼리를 날리고 그 쿼리의 값에 대한 계산이 맞으면 넘어가고 맞지 않으면 경고창을 띄워야겠지요

 

 

if($w == "" || $w == "r")

{

  $thisDelay = $g4['server_time'] + $config['cf_delay_sec'];

  $delayTime = date("Y-m-d H:i:s", $thisDelay);

  $query = " SELECT MAX(wr_id) AS cnt FROM $write_table WHERE wr_datetime <= $delayTime ";  

  $row = sql_fetch($query);

  if($row[cnt] && !$is_admin) alert("너무 빨라"); 

 

확인 안해봤는데 이게 맞는지 모르겠네요 

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

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

10년 전

불량학생님​ 감사합니다 .

새해복많이받으세요..

 

  

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

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

10년 전

불량학생님 답변감사드립니다 ..

 

그런데요

 

 

if($w == "" || $w == "r")

{

  $thisDelay = $g4['server_time'] + $config['cf_delay_sec'];

  $delayTime = date("Y-m-d H:i:s", $thisDelay);

  $query = " SELECT MAX(wr_id) AS cnt FROM $write_table WHERE wr_datetime <= $delayTime ";  

  $row = sql_fetch($query);

  if($row[cnt] && !$is_admin) alert("너무 빨라"); 

​요기에 시간지정은 어떻게 하는지 좀 ...ㅜㅜ.ㅜㅜ

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

답변에 대한 댓글 1개

불량학생
10년 전
시간지정 관리자 > 환경설정 > 새로운 글쓰기 초 지난후 가능 이라는 곳에 초단위의 시간을 넣으면 됩니다

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

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

로그인