[16] PHP - 나의 정보 확인 및 수정
2024. 6. 10. 08:30ㆍPHP
728x90
[ 환경 ]
ㄴ php 7
1. 나의 정보 페이지 이동
ㄴ 로그인 후 나의정보 클릭
2. 나의 정보 페이지
<?php
require_once 'config.php'; // DB연결구문
require_once 'logincheck.php'; // 로그인 체크
// 고유번호로 나의정보 조회
$sql = "SELECT * FROM member WHERE idx = '{$login}'";
$result = $conn->query($sql);
$myinfo = $result->fetch_assoc();
?>
ㄴ 해당코드로 나의 정보 출력
ㄴ 나의 정보 값 축약형 출력을 사용.
ㄴ 페이지 확인
3. 나의 정보 수정 페이지(수정 폼)
ㄴ 수정페이지 이동시 get값을 붙여서 이동하는 방법도 있으나, 보안상 각 페이지에서 세션값 이용으로 진행
ㄴ 2번과 같은 php코드로 값 호출
ㄴ 현재 자신의 계정에 대한 고유번호를 input hidden에 담아서 정보 전송시 함께 보낸다.
★ action경로에 get값으로 보내는 방법이 있지만, 페이지 주소로 노출이 되기때문에 해당방법을 사용.
- 스크립트에서 보낼땐 다른방법 사용이 가능하며 추후 포스팅.
ㄴ 개발자도구에서 input hidden에 value가 담긴것 확인
ㄴ html페이지
ㄴ 수정처리전 보내야할 정보는 모두 담았고, 준비는 끝났다.
4. 나의 정보 수정 처리(PHP 기능페이지)
<?php
require_once 'config.php';
$idx = $_POST['idx']; // 회원고유번호
$password = $_POST['password']; // 비밀번호
$password_ch = $_POST['password_ch']; // 비밀번호확인
$name = $_POST['name']; // 이름
$email = $_POST['email']; // 이메일
// 비밀번호 수정할 경우
if($password){
// 비밀번호 확인 조건문
if($password != $password_ch){
echo "<script>alert('{$password}/{$password_ch}비밀번호가 일치하지 않습니다.'); history.back(); </script>";
echo "<script>history.back(); </script>";
die();
}
// 비밀번호를 입력한 경우만 쿼리문 작성 (비밀번호 미 입력시 다른 항목들만 수정될수 있게 장치.)
$pw_query = ", pw = password('{$password}')";
}
// 업데이트문 작성
$update = "
UPDATE member SET
name = '{$name}'
, email = '{$email}'
{$pw_query}
WHERE idx = '{$idx}'
";
$myupdate = $conn->query($update); // 객체지향
if($myupdate){
echo "<script>alert('나의정보가 수정되었습니다.'); window.location.href='myv.php'; </script>";
die();
}else{
die("나의정보 수정에 실패하였습니다.\n관리자에 문의 해주시기 바랍니다.");
}
?>
ㄴ hidden으로 보낸 회원고유번호를 변수로 선언하여 사용해야한다. (본인 계정을 찾아야 하기때문)
ㄴ 비밀번호 미입력 유효성체크는 제외하고, 비밀번호 확인은 비밀번호를 입력한 경우만 한다.
- 비밀번호는 수정하지 않고, 이름과 이메일만 수정할 수 있기 때문.
- 비밀번호 update 쿼리도 비밀번호만 존재할 경우에 변수로 만들어둔다.
ㄴ 회원 고유번호로 update문의 where 조건문에 사용한다. (본인 계정만 수정되도록)
5. 최종 기능 확인
ㄴ 정보 수정 완료.
728x90
'PHP' 카테고리의 다른 글
[18] PHP - 회원 목록(게시판 목록) (0) | 2024.06.14 |
---|---|
[17] PHP - 파일 구조 갖추기 (0) | 2024.06.10 |
[15] PHP - 회원가입(비밀번호 확인) (0) | 2024.06.07 |
[14] PHP - 회원가입 (1) | 2024.06.07 |
[13] PHP - CURL 실제활용 (0) | 2024.05.06 |