회원가입때 이메일을 제외하려고 합니다. 근데 메일은 사용할 수 없습니다. 일럿 ㅠ
본문
안녕하세요.
회원가입때 이메일을 제외하려고 합니다.
해당 되는 것들을 삭제하고 검색도 해서 찾아서 주석처리하고 했는데
테스트 해보니까
메일은 사용할 수 없습니다.
해당 일럿이 뜹니다.
어디서 추가로 수정해야 해당 일럿이 안뜨면서
이메일 없이 회원가입 진행하게 할 수 있을까요?
고수님들께 여쭤봅니다.
감사합니단.
답변 5
/bbs/register_form_update.php 파일에서
mb_mail 검색하셔서 메일 검사에 관련된 부분들을 주석해주셔야 합니다.
이메일을 안받게되면 다른 기능들에서 에러가 날 수 있으니 차라리 스킨 상단에 아래코드를 추가해보세요
가짜이메일을 만들어 가리고, 가입시켜버리게되면 쓸데없이 여러곳에서 수정안해도됩니다.
<?php
if($w==''){
$member['mb_email']=trim().uniqid().'@domain.com';
}
?>
<style>
li:has(#reg_mb_email){display: none}
</style>
<!-- 회원정보 입력/수정 시작 { -->
이메일 기능을 비활성화하고 회원가입 에러를 방지하기 위해,
bbs/register_form.php에서 이메일 입력 필드를 제거하고,
bbs/register_form_update.php에서 이메일 유효성 검사 및 필수 조건 로직을 주석 처리.
lib/register.lib.php에서는 이메일 관련 유효성 검사 함수 호출을 비활성화,
config.php에서는 이메일 사용 설정(cf_email_use, cf_use_email_certify)을 false로 수정.
lib/mailer.lib.php에서 메일 발송 함수(mailer)를 비활성화하여 이메일 발송 기능을 제거.
이러한 일련의 수정으로 이메일 없이 회원가입이 가능하며,
관련 오류 없이 동작되지 않을까 싶습니다.
※ AI를 사용하여 만든 해결책이니, 참고하여 커스터마이징하세요.
- 아래의 주요 작업이 필요합니다
bbs/register_form.php:
회원가입 양식에서 이메일 입력 필드를 주석/제거합니다.
<!-- 이메일 입력 필드, 아래 부분을 제거/주석처리 -->
<tr>
<th scope="row"><label for="mb_email">이메일</label></th>
<td><input type="email" name="mb_email" id="mb_email" required></td>
</tr>
bbs/register_form_update.php:
이메일 유효성 검사 및 필수 조건 로직을 주석 처리하거나 삭제합니다.
// 이메일 유효성 검사, 아래 부분을 제거/주석처리
if (!filter_var($_POST['mb_email'], FILTER_VALIDATE_EMAIL)) {
$msg = "올바른 이메일 주소를 입력해 주십시오.";
echo '<script>alert("'.$msg.'");</script>';
}
lib/register.lib.php:
이메일 관련 유효성 검사 함수(valid_mb_email, empty_mb_email, exist_mb_email)가
호출되는 부분을 비활성화합니다.
// 아래 부분을 제거/주석처리
function empty_mb_email($reg_mb_email)
{
if (!trim($reg_mb_email))
return "E-mail 주소를 입력해 주십시오.";
else
return "";
}
config.php:
이메일 관련 기본 설정(cf_email_use, cf_use_email_certify)이
false로 설정되어 있는지 확인하고, 필요시 수정.
$config['cf_email_use'] = true;$config['cf_use_email_certify'] = true;
$config['cf_email_use'] = false;
$config['cf_use_email_certify'] = false;
lib/mailer.lib.php:
메일 발송 함수(mailer)가 호출되는 부분을 비활성화합니다.
특히 인증 메일 관련 발송 로직을 제거합니다.
if (!$config['cf_email_use']) return;
// 인증 메일 발송 로직$mail = new PHPMailer();
$mail->addAddress($to);
$mail->send();
// 메일 발송 비활성화
if (!$config['cf_email_use']) return false;
// 인증 메일 발송 로직 제거
// Removed email sending logic
※ 꼭 필요하진 않으나,
'관리자 페이지'의 시각적 정리가 필요하시다면
선택적으로 adm/config_form.php를 수정하실 수 있습니다.
아래의 항목은 메일 기능과 관련이 있으며,
필요에 따라 제거하거나 비활성화할 수 있습니다.
<tr>
<th scope="row"><label for="cf_email_use">메일발송 사용</label></th>
<td>
<?php echo help('체크하지 않으면 메일발송을 아예 사용하지 않습니다. 메일 테스트도 불가합니다.') ?>
<input type="checkbox" name="cf_email_use" value="1" id="cf_email_use" <?php echo $config['cf_email_use'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_use_email_certify">메일인증 사용</label></th>
<td>
<?php $tmp = !(defined('G5_SOCIAL_CERTIFY_MAIL') && G5_SOCIAL_CERTIFY_MAIL) ? '<br>( SNS를 이용한 소셜로그인 한 회원은 회원메일인증을 하지 않습니다. 일반회원에게만 해당됩니다. )' : ''; ?>
<?php echo help('메일에 배달된 인증 주소를 클릭하여야 회원으로 인정합니다.' . $tmp); ?>
<input type="checkbox" name="cf_use_email_certify" value="1" id="cf_use_email_certify" <?php echo $config['cf_use_email_certify'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_formmail_is_member">폼메일 사용 여부</label></th>
<td>
<?php echo help('체크하지 않으면 비회원도 사용 할 수 있습니다.') ?>
<input type="checkbox" name="cf_formmail_is_member" value="1" id="cf_formmail_is_member" <?php echo $config['cf_formmail_is_member'] ? 'checked' : ''; ?>> 회원만 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_wr_super_admin">최고관리자</label></th>
<td>
<?php echo help('최고관리자에게 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_wr_super_admin" value="1" id="cf_email_wr_super_admin" <?php echo $config['cf_email_wr_super_admin'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_wr_group_admin">그룹관리자</label></th>
<td>
<?php echo help('그룹관리자에게 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_wr_group_admin" value="1" id="cf_email_wr_group_admin" <?php echo $config['cf_email_wr_group_admin'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_wr_board_admin">게시판관리자</label></th>
<td>
<?php echo help('게시판관리자에게 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_wr_board_admin" value="1" id="cf_email_wr_board_admin" <?php echo $config['cf_email_wr_board_admin'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_wr_write">원글작성자</label></th>
<td>
<?php echo help('게시자님께 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_wr_write" value="1" id="cf_email_wr_write" <?php echo $config['cf_email_wr_write'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_wr_comment_all">댓글작성자</label></th>
<td>
<?php echo help('원글에 댓글이 올라오는 경우 댓글 쓴 모든 분들께 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_wr_comment_all" value="1" id="cf_email_wr_comment_all" <?php echo $config['cf_email_wr_comment_all'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_mb_super_admin">최고관리자 메일발송</label></th>
<td>
<?php echo help('최고관리자에게 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_mb_super_admin" value="1" id="cf_email_mb_super_admin" <?php echo $config['cf_email_mb_super_admin'] ? 'checked' : ''; ?>> 사용
</td>
</tr>
<tr>
<th scope="row"><label for="cf_email_mb_member">회원님께 메일발송</label></th>
<td>
<?php echo help('회원가입한 회원님께 메일을 발송합니다.') ?>
<input type="checkbox" name="cf_email_mb_member" value="1" id="cf_email_mb_member" <?php echo $config['cf_email_mb_member'] ? 'checked' : ''; ?>> 사용
</td>
</tr>