하루에 같은 아이디로 글쓰기 제한하기
본문
$sql = " select count(*) as cnt from $write_table where wr_ip = '$_SERVER[REMOTE_ADDR]'";
$row = sql_fetch($sql);
if ($row[cnt]) alert ("해당 아이피는 이미 작성하였습니다.");
이건 아이피인데 아이디로 제한하려면 어떻게 해야하는지 알려주시면 감사하겠습니다
답변 3
위 코드가 오류가 있어 다시 수정 합니다.
// 로그인한 사용자의 아이디를 가져옵니다.
$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("오늘은 이미 게시글을 작성하셨습니다.");
}
}
// 로그인한 사용자의 아이디를 가져옵니다.
$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("해당 아이디로는 이미 작성하셨습니다.");
}
<?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("오늘은 이미 작성하셨습니다.");
}
답변을 작성하시기 전에 로그인 해주세요.