금지된 닉네임 처리 채택완료
안녕하세요. 사이트에서 닉네임을 설정할 수 있도록 해놨습니다.
닉네임은 input에 넣어 설정합니다.
form 전송하면 현재 페이지에서 받아서 닉네임 체크하여 처리합니다.
아래와 같이 if 문속에 하나하나 체크하니 너무 길어져서... 금지닉네임을 10개 정도 하려니 엄청 기네요. array 에 넣어 처리할 수 있는 방법 또는 조금 더 간단하게 체크하는 방법 없을까요?
조언부탁드려도 될까요?
감사합니다.
</p>
<p><?php </p>
<p>if( $_POST['nickname'] != '바보' || $_POST['nickname'] != '멍청이' || $_POST['nickname'] != '병신' ){
//금지 닉네임 사용금지 경고
} else{</p>
<p> 닉네임 DB에 업데이트</p>
<p>}</p>
<p>?></p>
<p> </p>
<p><?php get_header(); ?></p>
<p> </p>
<p><form action="현재페이지"></p>
<p><input type="text" name="nickname" /></p>
<p><input type="submit"></p>
<p></form></p>
<p> </p>
<p><?php get_footer(); ?></p>
<p> </p>
<p>
답변 2개
※ http://php.net/manual/kr/function.in-array.php
</p>
<p>$arr_tmp = array('바보', '멍청이', '병신');</p>
<p>if (in_array($_POST['nickname'], $arr_tmp)) {</p>
<p> //금지 닉네임 사용금지 경고</p>
<p>}</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
그누 회원 가입 라이브러리 보면
function reserve_mb_nick($reg_mb_nick) { global $config; if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id'])) return "이미 예약된 단어로 사용할 수 없는 닉네임 입니다."; else return ""; }
있습니다. 관리자에 금지어 추가 하시고 해당 함수를 이용해보세요
답변에 대한 댓글 1개
써 주신 코드에서,
if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']))
$reg_mb_nick 대신 $_POST['nickname']
'cf_prohibit_id' 자리에 '바보', '멍청이','..' 이렇게 적으면 될까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인