하루에 같은 아이디로 글쓰기 제한하기 채택완료

$sql = " select count(*) as cnt from $write_table where wr_ip = '$_SERVER[REMOTE_ADDR]'";
$row = sql_fetch($sql);
if ($row[cnt]) alert ("해당 아이피는 이미 작성하였습니다.");

 

 

이건 아이피인데 아이디로 제한하려면 어떻게 해야하는지 알려주시면 감사하겠습니다

답변 3개

채택된 답변
+20 포인트

위 코드가 오류가 있어 다시 수정 합니다.

 

Copy
// 로그인한 사용자의 아이디를 가져옵니다.
$member_id = $member['mb_id'];

// 관리자인지 확인합니다. 관리자는 제외합니다.
if (!$is_admin) {
    // 오늘 날짜를 구합니다.
    $today = G5_TIME_YMD;

    // SQL 쿼리를 아이디 기준, 오늘 날짜 기준, 게시글만 대상으로 수정합니다.
    $sql = "SELECT COUNT(*) AS cnt 
            FROM $write_table 
            WHERE mb_id = '$member_id' 
            AND wr_is_comment = 0 
            AND substring(wr_datetime,1,10) = '$today'";
    
    $row = sql_fetch($sql);

    // 오늘 해당 아이디로 글을 작성한 경우 경고 메시지를 출력합니다.
    if ($row['cnt']) {
        alert("오늘은 이미 게시글을 작성하셨습니다.");
    }
}
로그인 후 평가할 수 있습니다

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

Copy
<?php

if($is_admin == false){

    if(isset($member['member_id']) == false) alert("로그인 후 작성가능합니다.");

    $today_date = date('Y-m-d');

    $sql = "SELECT COUNT(*) AS cnt FROM {$write_table} WHERE wr_is_comment = 0 AND mb_id = '{$member['member_id']}' AND DATE(wr_datetime) = '{$today_date}'";

    $row = sql_fetch($sql);

    if ( $row['cnt'] > 0 ) alert("오늘은 이미 작성하셨습니다.");

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

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

Copy
// 로그인한 사용자의 아이디를 가져옵니다.

$member_id = $member['mb_id'];

 

// SQL 쿼리를 아이디 기준으로 변경합니다.

$sql = "SELECT COUNT(*) AS cnt FROM $write_table WHERE mb_id = '$member_id'";

$row = sql_fetch($sql);

 

// 이미 해당 아이디로 글을 작성한 경우 경고 메시지를 출력합니다.

if ($row['cnt']) {

    alert("해당 아이디로는 이미 작성하셨습니다.");

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

답변에 대한 댓글 2개

wr_is_comment=0 and mb_id = '$member_id'"
생각해보니, 오늘 날짜 체크도 안했네요 ㅎ

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

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

로그인
🐛 버그신고