LJ

웹 개발 (2) 로그인 환경 본문

IT/웹 개발

웹 개발 (2) 로그인 환경

짱준재 2021. 10. 21. 14:57

 

회원가입 전체적인 구조

 

소수분류 파일명  기능
PHP dbconn.php 데이터베이스 연결 페이지
function.php 함수 라이브러리 페이지
login.php 로그인 페이지
login_check.php 로그인 처리 페이지
logout.php 로그아웃 처리 페이지
register.php 회원가입 페이지
register_update.php 회원가입 처리 페이지
register_update_mail.php 회원가입 인증 메일 전송 페이지
email_certify.php 매일인증 처리 페이지
기타 style.css 스타일 시트 파일
PHPMailer(폴더) 매일 전송 라이브러리

앞으로 전개될 회원가입 및 로그인 , 쪽지프로그램은 PHP와 데이터베이스 MySQL을 연결하기 위한 dbconn.php파일과 함수들을 모아 놓은 function.php 파일이 반드시 필요합니다.

 

 

SQL member 테이블

먼저 프로그래밍에 앞서 필요한 데이터베이스 테이블을 만들어 보도록 하겠습니다.

회원가입에 필요한 테이블은 정보가 저장이 되는 회원테이블입니다.

 

dbconn.php

 

더보기

function.php

<?php
include_once('./PHPMailer/PHPMailerAutoload.php');

function mailer($fname, $fmail, $to, $subject, $content)
{

$mail = new PHPMailer();

$mail->IsSMTP();

$mail->SMTPSecure = "ssl";
$mail->SMTPAuth = true;

$mail->Host = "smtp.naver.com";
$mail->Post = 465;
$mail->Username = "jejunli@naver.com";
$mail->Password = "dhwlrwnaks@2";

$mail->CharSet = 'UTF-8';
$mail->From = $fmail;
$mail->FromName = $fname;
$mail->Subject = $subject;
$mail->msgHTML($content);
$mail->addAddress($to);

return $mail->send();

}
?>

 

 

 

 

 

더보기

login.php

 

<?php
include("./dbconn.php");  // DB연결을 위한 같은 경로의 dbconn.php를 인클루드합니다.
?>

<html>
<head>
<title>Login</title>
<link href="./style.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php if(!isset($_SESSION['ss_mb_id'])) { // 로그인 세션이 있을 경우 로그인 화면 ?>

<h1>로그인</h1>

<form action="./login_check.php" method="post">
<table>
<tr>
<th>아이디</th>
<td><input type="text" name="mb_id"></td>
</tr>
<tr>
<th>비밀번호</th>
<td><input type="password" name="mb_password"></td>
</tr>
<tr>
<td colspan="2" class="td_center">
<input type="submit" value="로그인"> 
<a href="./register.php">회원가입</a>
</td>
</tr>
</table>
</form>

<?php } else { // 로그인 세션이 없을 경우 로그인 완료 화면 ?>

<h1>로그인을 환영합니다.</h1>

<?php
$mb_id = $_SESSION['ss_mb_id'];

$sql = " select * from member where mb_id = TRIM('$mb_id') ";
$result = mysqli_query($conn, $sql);
$mb = mysqli_fetch_assoc($result);

mysqli_close($conn); // 데이터베이스 접속 종료
?>
<table>
<tr>
<th>아이디</th>
<td><?php echo $mb['mb_id'] ?></td>
</tr>
<tr>
<th>이름</th>
<td><?php echo $mb['mb_name'] ?></td>
</tr>
<tr>
<th>이메일</th>
<td><?php echo $mb['mb_email'] ?></td>
</tr>
<tr>
<th>성별</th>
<td><?php echo $mb['mb_gender'] ?></td>
</tr>
<tr>
<th>직업</th>
<td><?php echo $mb['mb_job'] ?></td>
</tr>
<tr>
<th>관심언어</th>
<td><?php echo $mb['mb_language'] ?></td>
</tr>
<tr>
<th>이메일인증일</th>
<td><?php echo $mb['mb_email_certify'] ?></td>
</tr>
<tr>
<th>회원가입일</th>
<td><?php echo $mb['mb_datetime'] ?></td>
</tr>
<tr>
<th>회원정보 수정일</th>
<td><?php echo $mb['mb_modify_datetime'] ?></td>
</tr>
<tr>
<td colspan="2" class="td_center">
<a href="./register.php?mode=modify">회원정보수정</a>
<a href="./logout.php">로그아웃</a>
</td>
</tr>
</table>

<?php } ?>

</body>
</html>

 

 

 

더보기

login_check.php

 

 

<?php
include("./dbconn.php");  // DB연결을 위한 같은 경로의 dbconn.php를 인클루드합니다.
?>

<html>
<head>
<title>Login</title>
<link href="./style.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php if(!isset($_SESSION['ss_mb_id'])) { // 로그인 세션이 있을 경우 로그인 화면 ?>

<h1>로그인</h1>

<form action="./login_check.php" method="post">
<table>
<tr>
<th>아이디</th>
<td><input type="text" name="mb_id"></td>
</tr>
<tr>
<th>비밀번호</th>
<td><input type="password" name="mb_password"></td>
</tr>
<tr>
<td colspan="2" class="td_center">
<input type="submit" value="로그인"> 
<a href="./register.php">회원가입</a>
</td>
</tr>
</table>
</form>

<?php } else { // 로그인 세션이 없을 경우 로그인 완료 화면 ?>

<h1>로그인을 환영합니다.</h1>

<?php
$mb_id = $_SESSION['ss_mb_id'];

$sql = " select * from member where mb_id = TRIM('$mb_id') ";
$result = mysqli_query($conn, $sql);
$mb = mysqli_fetch_assoc($result);

mysqli_close($conn); // 데이터베이스 접속 종료
?>
<table>
<tr>
<th>아이디</th>
<td><?php echo $mb['mb_id'] ?></td>
</tr>
<tr>
<th>이름</th>
<td><?php echo $mb['mb_name'] ?></td>
</tr>
<tr>
<th>이메일</th>
<td><?php echo $mb['mb_email'] ?></td>
</tr>
<tr>
<th>성별</th>
<td><?php echo $mb['mb_gender'] ?></td>
</tr>
<tr>
<th>직업</th>
<td><?php echo $mb['mb_job'] ?></td>
</tr>
<tr>
<th>관심언어</th>
<td><?php echo $mb['mb_language'] ?></td>
</tr>
<tr>
<th>이메일인증일</th>
<td><?php echo $mb['mb_email_certify'] ?></td>
</tr>
<tr>
<th>회원가입일</th>
<td><?php echo $mb['mb_datetime'] ?></td>
</tr>
<tr>
<th>회원정보 수정일</th>
<td><?php echo $mb['mb_modify_datetime'] ?></td>
</tr>
<tr>
<td colspan="2" class="td_center">
<a href="./register.php?mode=modify">회원정보수정</a>
<a href="./logout.php">로그아웃</a>
</td>
</tr>
</table>

<?php } ?>

</body>
</html>

'IT > 웹 개발' 카테고리의 다른 글

세션과 쿠키  (0) 2022.10.19
웹 기본  (0) 2022.02.08
웹 개발 -APM 설치 (2)  (0) 2021.10.28
웹 개발- APM 설치하기 ubuntu 초기 설정(1)  (0) 2021.10.27
웹 개발 환경(1)  (0) 2021.10.21
Comments