본문 바로가기

Web/Develop_PHP+MySQL

웹 페이지 만들기 - 마이페이지

메인 페이지
로그인한 모습

본인의 이름 "김철수님" 클릭 시,

마이페이지로 이동

1. mypage.php

기본 회원 정보가 출력되며,

이름과 ID는 수정 불가능하게 설정돼 있다.

비밀번호 혹은 이메일 수정 시,

현재 비밀번호를 입력받아 일치한지 체크한다.

<?php
require_once("function/session.php");
?>

<!DOCTYPE html>
<html lang="ko">

<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name='viewport' content='width=device-width, intial-scale=1.0'>
	<title>마이페이지</title>
    <link rel="stylesheet" href="/css/account.css">
</head>
<body>
<div class="account-form">
	<h2>회원정보</h2>
    
	// update.php로 사용자 입력 정보 전송
	<form action="update.php" method="post">
    
		// placeholder 속성 & disabled 속성 참고
		<p><input type="text" name="name" placeholder="<?=$name?>" class="text-field" disabled></p>
		<p><input type="text" name="userid" placeholder="<?=$userid?>" class="text-field" disabled></p>
		<p><input type="password" name="currentpw" placeholder="현재 비밀번호" required class="text-field"></p>
		<p><input type="password" name="changepw" placeholder="변경할 비밀번호" class="text-field"></p>
		<p><input type="text" name="changeemail" placeholder="<?=$email?>"  class="text-field"></p>
		<p><input type="submit" value="회원정보 수정" class="submit-btn"></p>
	</form>
	</div>
</body>
</html>

2.update.php

<?php
// 세션 & DB 연결 받아오기
require_once("function/session.php");

// 에러 메시지 출력
error_reporting( E_ALL );
ini_set( "display_errors", 1 );

// 사용자 정보 받아오기
$currentpw = $_POST['currentpw'];
$changepw = $_POST['changepw'];
$changeemail = $_POST['changeemail'];

// 비밀번호 일치 여부 확인
if ($currentpw == $userpw) {

    // 비밀번호 수정
    if ($changepw) {
        $sql = "update users set userpw='$changepw' where userid='$userid'";
        mysqli_query($conn, $sql);
    } 

    // 이메일 수정
    if ($changeemail) {
        $sql = "update users set email='$changeemail' where userid='$userid'";
        mysqli_query($conn, $sql);
    }

    echo "<script>alert('회원정보 수정 성공!');</script>";
    echo "<script>location.replace('index.php')</script>";
} else {
	echo "<script>alert('비밀번호가 일치하지 않습니다.');</script>";
    echo "<script>location.replace('mypage.php')</script>";
}

// DB 연결 종료
mysql_close($conn);
?>

회원정보 수정
DB 적용 완료