리눅스 APM 아이디/비밀번호 찾기

Linux APM 로그인 페이지 구현, 리눅스 회원가입 페이지 구현 방법 페이지 구성에 이어서

아이디/비밀번호 찾기 페이지를 구현을 하겠습니다.


아이디 찾기 페이지 (find_id.php)

아이디 찾기 페이지
nano /var/www/html/auth/find_id.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>아이디 찾기</title>
    <link rel="stylesheet" href="../css/style.css">
</head>
<body>
    <div class="find-container">
        <h2>아이디 찾기</h2>
        <form action="find_id_process.php" method="POST">
            <div class="form-group">
                <input type="text" name="name" placeholder="이름" required>
            </div>
            <div class="form-group">
                <input type="email" name="email" placeholder="이메일" required>
            </div>
            <div class="form-group">
                <button type="submit">아이디 찾기</button>
            </div>
        </form>
        <div class="links">
            <a href="find_password.php">비밀번호 찾기</a>
            <a href="../index.php">로그인으로 돌아가기</a>
        </div>
    </div>
</body>
</html>

비밀번호 찾기 페이지 (find_password.php)

비밀번호 찾기 페이지
nano /var/www/html/auth/find_password.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>비밀번호 찾기</title>
    <link rel="stylesheet" href="../css/style.css">
</head>
<body>
    <div class="find-container">
        <h2>비밀번호 찾기</h2>
        <form action="find_password_process.php" method="POST">
            <div class="form-group">
                <input type="text" name="username" placeholder="아이디" required>
            </div>
            <div class="form-group">
                <input type="email" name="email" placeholder="이메일" required>
            </div>
            <div class="form-group">
                <button type="submit">비밀번호 찾기</button>
            </div>
        </form>
        <div class="links">
            <a href="find_id.php">아이디 찾기</a>
            <a href="../index.php">로그인으로 돌아가기</a>
        </div>
    </div>
</body>
</html>

아이디 찾기 처리 (find_id_process.php)

아이디 찾기 처리 
nano /var/www/html/auth/find_id_process.php

<?php
include '../config.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = mysqli_real_escape_string($conn, $_POST['name']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);

    $query = "SELECT username FROM users WHERE name = '$name' AND email = '$email'";
    $result = mysqli_query($conn, $query);

    if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        $username = $row['username'];
        echo "<script>
                alert('회원님의 아이디는 " . $username . " 입니다.');
                location.href='../index.php';
              </script>";
    } else {
        echo "<script>
                alert('일치하는 정보가 없습니다.');
                history.back();
              </script>";
    }
}
?>

비밀번호 찾기 처리 (find_password_process.php)

비밀번호 찾기 처리
nano /var/www/html/auth/find_password_process.php

<?php
include '../config.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = mysqli_real_escape_string($conn, $_POST['username']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);

    $query = "SELECT * FROM users WHERE username = '$username' AND email = '$email'";
    $result = mysqli_query($conn, $query);

    if (mysqli_num_rows($result) > 0) {
        // 임시 비밀번호 생성
        $temp_password = substr(md5(rand()), 0, 8);
        $hashed_password = password_hash($temp_password, PASSWORD_DEFAULT);

        // 비밀번호 업데이트
        $update_query = "UPDATE users SET password = '$hashed_password' WHERE username = '$username'";
        mysqli_query($conn, $update_query);

        // 이메일로 임시 비밀번호 전송 (실제 이메일 전송 코드는 별도 구현 필요)
        echo "<script>
                alert('임시 비밀번호는 " . $temp_password . " 입니다.\\n로그인 후 비밀번호를 변경해주세요.');
                location.href='../index.php';
              </script>";
    } else {
        echo "<script>
                alert('일치하는 정보가 없습니다.');
                history.back();
              </script>";
    }
}
?>

CSS 스타일 추가 (style.css에 추가)

.find-container {
    background-color: white;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    width: 300px;
    margin: 50px auto;
}

.find-container h2 {
    text-align: center;
    margin-bottom: 20px;
}

파일 권한 설정

파일 권한 설정
chown -R apache:apache /var/www/html/auth
chmod -R 755 /var/www/html/auth

아이디 찾기

  • 이름과 이메일로 아이디 찾기
  • 일치하는 정보가 있으면 아이디 표시

비밀번호 찾기

  • 아이디와 이메일로 확인임시
  • 비밀번호 생성임시 비밀번호로 업데이트

By Low ahn

리눅스를 처음 접하시는 분들은 위한 다양한 리눅스 정보를 공유합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다