회원 이메일 주소를 다시 확인하도록 하려면...
본문
회원 이메일 주소를 다시 확인하도록 하려면...
운영한지 오래되고 이메일 관리를 안하는 회원들도 있고해서...
전체회원들 로그인시 이메일주소를 다시 확인해서 입력하도록 하고 싶은데...
방법이 없을까요?
답변 3
기본으로 제공 되는 기능은 없고, 회원 가입시에 메일 인증 하는 부분을 참고하셔서 로그인 할 때 다시한번 인증을 걸치게 하시는 방법이 가장 무난할거 같습니다.
보통은 로그인 할때 이메일 유무를 체크해서 없는 경우
1. 경고창을 띄우고
2. 이메일 수정할수 있는 페이지로 이동
을 유도 합니다.
예를 들어 다음과 같은 방법으로 해 볼 수 있지 않을까 합니다.
참고하셔서 원하시는 형식으로 구현하시면 될 것 같습니다.
<?php
// 가정: 사용자 정보는 세션을 통해 관리
session_start();
// 사용자가 로그인되어 있는지 확인
if (isset($_SESSION['user_id'])) {
$userId = $_SESSION['user_id'];
// 사용자의 현재 이메일 주소 가져오기 (가정)
$currentUserEmail = "user @ example.com"; // 실제로는 데이터베이스에서 가져와야 합니다.
// 사용자가 이메일을 확인하려는 경우
if (isset($_POST['confirm_email'])) {
$newEmail = $_POST['new_email'];
// 유효성 검증 및 새 이메일 저장 (가정)
if (filter_var($newEmail, FILTER_VALIDATE_EMAIL)) {
// 실제로는 데이터베이스에 새 이메일을 저장하는 로직을 추가해야 합니다.
$currentUserEmail = $newEmail;
echo "이메일이 성공적으로 변경되었습니다.";
} else {
echo "유효하지 않은 이메일 주소입니다.";
}
}
?>
<h1>Email Confirmation</h1>
<p>현재 이메일 주소: <?php echo $currentUserEmail; ?></p>
<form method="post" action="">
<label for="new_email">새 이메일 주소:</label>
<input type="email" id="new_email" name="new_email" required>
<button type="submit" name="confirm_email">이메일 확인</button>
</form>
<?php
} else {
echo "로그인이 필요합니다.";
}
?>
이렇게 하면 사용자가 로그인한 경우에만 이메일 확인 및 변경을 허용하게 되고, 사용자가 확인하거나 변경하려는 이메일을 입력하고 확인 버튼을 클릭하면 유효성을 검사하고, 유효한 경우에는 새 이메일로 변경되게 하면 되지 않을까 합니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.