회원 이메일 주소를 다시 확인하도록 하려면...

2023-11-24 (금) 22:03:50 1,706

회원 이메일 주소를 다시 확인하도록 하려면...

운영한지 오래되고 이메일 관리를 안하는 회원들도 있고해서...

전체회원들 로그인시 이메일주소를 다시 확인해서 입력하도록 하고 싶은데...

방법이 없을까요?

|

답변 3개

2023-11-27 (월) 01:13:43

예를 들어 다음과 같은 방법으로 해 볼 수 있지 않을까 합니다.

참고하셔서 원하시는 형식으로 구현하시면 될 것 같습니다.

Copy
<?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 "로그인이 필요합니다.";
}
?>

이렇게 하면 사용자가 로그인한 경우에만 이메일 확인 및 변경을 허용하게 되고, 사용자가 확인하거나 변경하려는 이메일을 입력하고 확인 버튼을 클릭하면 유효성을 검사하고, 유효한 경우에는 새 이메일로 변경되게 하면 되지 않을까 합니다.

보통은 로그인 할때 이메일 유무를 체크해서 없는 경우 

1. 경고창을 띄우고

2. 이메일 수정할수 있는 페이지로 이동

을 유도 합니다.

2023-11-24 (금) 22:13:28

기본으로 제공 되는 기능은 없고, 회원 가입시에 메일 인증 하는 부분을 참고하셔서 로그인 할 때 다시한번 인증을 걸치게 하시는 방법이 가장 무난할거 같습니다.

답변을 작성하려면 로그인이 필요합니다.