30강 회원정보수정하기

서울IT코드정리 /kyChoi·2021년 10월 26일
0

인프런 웹쇼핑몰

목록 보기
6/9

회원정보를 수정하면 input 태그에 editable이 가능해서 수정하게끔 합니다.
그럼 회원정보에서 가져온 데이터(이메일, 전화번호) 를 input value에 넣어서
가져옵니다

MemberInfo.jsp

<%@page import="model.MemberDAO"%>
<%@page import="model.MemberBean"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 1.데이터 베이스에서 한 회원의 정보를 가져옴 2. table태그를 이용하여 화면에 회원의 정보를 출력 -->

<%
String id=request.getParameter("id");
MemberDAO mdao = new MemberDAO();
MemberBean mbean = mdao.oneSelectMember(id);
%>

<center>
<h2>회원 정보 보기</h2>
	<table width="400" border="1">
		<tr height="50">
			<td align="center" width="150"> 아이디</td>
			<td  width="250"> <%=mbean.getId() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150"> 이메일</td>
			<td  width="250"> <%=mbean.getEmail() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150"> 전화번호</td>
			<td  width="250"> <%=mbean.getTel() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150">취미</td>
			<td  width="250"> <%=mbean.getHobby() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150">직업</td>
			<td  width="250"> <%=mbean.getJob() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150">나이</td>
			<td  width="250"> <%=mbean.getAge() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150">정보</td>
			<td  width="250"> <%=mbean.getInfo() %></td>
		</tr>
		<tr height="50">
			<td align="center" colspan="2">
			<button onclick="location.href='MemberUpdateForm.jsp?id=<%=mbean.getId()%>'">회원수정</button>
			<button onclick="location.href='MemberDeleteForm.jsp?id=<%=mbean.getId()%>'">회원삭제</button>
			<button onclick="location.href='MemberList.jsp'">목록보기</button>
			<button onclick="location.href='MemberJoin.jsp'">회원가입</button>
			</td>
	</table>
</center>
</body>
</html>
  이렇게 가져온 데이터를 input value에 넣습니다
  해당 강의는 비밀번호가 일치하면 수정이 가능하게금 했습니다. 회원수정 버튼을 누르면 받은 id 값을 그대로 MemberUpdateForm으로 넘겨줍니다
  
    


       
MemberUpdateForm.jsp
      <%
String id=request.getParameter("id");
MemberDAO mdao = new MemberDAO();
MemberBean mbean = mdao.oneSelectMember(id);
%>

<center>

<h2>회원 정보 수정하기</h2>
	<form action="MemberUpdateProc.jsp" method="post">
	<table width="400" border="1">

		<tr height="50">
			<td align="center" width="150"> 아이디</td>
			<td  width="250"> <%=mbean.getId() %></td>
		</tr>
		<tr height="50">
			<td align="center" width="150"> 이메일</td>
			<td  width="250"><input type="email" name="email" value="<%=mbean.getEmail() %>"> </td>
		</tr>
		<tr height="50">
			<td align="center" width="150"> 전화번호</td>
			<td  width="250"><input type="text" name="text" value="<%=mbean.getTel() %>"></td>
		</tr>
		<tr height="50">
			<td align="center" width="150">패스워드</td>
			<td  width="250"><input type="password" name="pass1"></td>
		</tr>
		
		<tr height="50">
			<td align="center" colspan="2">
			<input type="hidden" name="id" value="<%=mbean.getId()%>"> 
			<!-- 아이디는 input 타입이 아니라 수정되지 않은채 넘어가야 합니다, 그걸 해주는게 input type="hidden" -->
			<input type="submit" value="회원 수정하기"/> &nbsp;&nbsp;
			<button onclick ="location.href='MemberList.jsp'">회원전체보기</button>
			</td>
		</tr>
	</table>
	</form>
	</center>
</body>

선택한 아이디가 가진 정보가 뿌려졌스빈다. 회원수정하기 버튼을 누르면 해당 정보가
MemberUpdateProc 로 넘어갑니다, 이메일, 전화번호는 수정가능하지만 id는 고정시켰습니다 , 패스워드 텍스트 파일은 아이디를 memberDAO에 던져주어 (클라스를 만들었습니다) 비밀번호를 가져오게 했습니다.

MemberDAO.jsp
public String getPass(String id) {
		String pass="";
		try {
			
			getCon();
			String sql = "select pass1 from member1 where id =?";
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, sql);
			rs = pstmt.executeQuery();
			if(rs.next()) {
				pass = rs.getString(1);
				
			}
			con.close();
		}catch(Exception e) {
			e.printStackTrace();
		}
		return pass;
MemberUpdateProc.jsp

<body>
<% request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="mbean" class="model.MemberBean">
	<jsp:setProperty name="mbean" property="*"/>
</jsp:useBean>
<%
	String id = request.getParameter("id");
	MemberDAO mdao = new MemberDAO();
	String pass = mdao.getPass(id);
	//수정하기 위해서 작성한 패스워드값과 기존 데이터 베이스에서 가져온 패스워드값을 비교
	if(mbean.getPass1().equals(pass)){
		
		
	}else{
		%>
		<script type="text/javascript">
			alert("패스워드가 틀렸습니다");
			history.go(-1);
			
		</script>
		
<%	
	}
%>
</body>
에서 아이디의 비밀번호(쿼리문에서 가져온) 가 일치하면, 혹은 틀리면 이라는 
문장을 작성했습니다
profile
건물주가 되는 그날까지

0개의 댓글