금지된 닉네임 처리

금지된 닉네임 처리

QA

금지된 닉네임 처리

본문

안녕하세요. 사이트에서 닉네임을 설정할 수 있도록 해놨습니다. 

 

닉네임은 input에 넣어 설정합니다. 

form 전송하면 현재 페이지에서 받아서 닉네임 체크하여 처리합니다. 

아래와 같이 if 문속에 하나하나 체크하니 너무 길어져서... 금지닉네임을 10개 정도 하려니 엄청 기네요.  array 에 넣어 처리할 수 있는 방법 또는 조금 더 간단하게 체크하는 방법 없을까요? 

 

조언부탁드려도 될까요?

감사합니다.

 


<?php 
if( $_POST['nickname'] != '바보' || $_POST['nickname'] != '멍청이' || $_POST['nickname'] != '병신'  ){
        //금지 닉네임 사용금지 경고
 } else{
       닉네임 DB에 업데이트
}
?>
 
<?php get_header(); ?>
 
<form action="현재페이지">
<input type="text" name="nickname" />
<input type="submit">
</form>
 
<?php get_footer(); ?>
 

이 질문에 댓글 쓰기 :

답변 2

※ http://php.net/manual/kr/function.in-array.php


$arr_tmp = array('바보', '멍청이', '병신');
if (in_array($_POST['nickname'], $arr_tmp)) {
  //금지 닉네임 사용금지 경고
}

그누 회원 가입 라이브러리 보면

function reserve_mb_nick($reg_mb_nick)
{
    global $config;
    if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']))
        return "이미 예약된 단어로 사용할 수 없는 닉네임 입니다.";
    else
        return "";
}

있습니다. 관리자에 금지어 추가 하시고 해당 함수를 이용해보세요

ㅠ.ㅜ 제가 그누보드를 사용하지 않고 워드프레스를 사용하고 있어서요..하하..ㅠ

써 주신 코드에서,

 if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']))

$reg_mb_nick 대신 $_POST['nickname']

'cf_prohibit_id' 자리에 '바보', '멍청이','..' 이렇게 적으면 될까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 1,178
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT