📝
서은 STUDY_SCRIPT
  • JAVASCRIPT 기록
  • JAVASCRIPT 문법정리
    • 데이터 저장하기
    • 데이터 불러오기
    • 데이터 실행하기
    • 데이터 제어하기
    • 면접질문 정리
  • PHP를 이용한 사이트 작업
    • PHP와 MySQL
      • 댓글쓰기
      • 회원가입
      • 로그인
      • 게시판
        • 페이지네이션 & 게시글보기
        • 수정/삭제/목록/검색
  • 생활코딩 JavaScript
    • JavaScript 입문수업
      • Basic
        • 자바스크립트 기본 세팅
        • 데이터타입
        • 변수
        • 연산자
        • 조건문
        • 반복문
        • 함수
        • 배열
        • 객체
        • 모듈
        • 정규표현식
      • 함수지향
        • 유효범위
        • 값으로서 함수
        • 값으로서 콜백
        • 클로저
        • arguments
        • 함수의 호출
      • 객체지향
        • 생성자와 new
        • 전역객체
        • this
        • 상속
        • Prototype
        • 표준내장객체의 확장
        • Object
        • 데이터 타입
        • 복제 & 참조
    • JavaScript Basic
      • 자바스크립트란?
      • 데이터타입
      • 변수와 대입연산자
      • 제어할 태그 선택
      • 비교연산자와 불리언
      • 조건문 if
      • 리팩토링
      • 배열 [ ]
      • 반복문 while
      • 배열과 반복문
        • 배열과 반복문의 활용
      • 함수
        • 함수의 활용
      • 객체 { }
        • 객체와 반복문 for~in
        • 프로퍼티와 메소드
        • 객체의 활용
      • 파일로 쪼개서 정리정돈
      • 라이브러리 & 프레임워크
      • UI & API
    • Web Browser
      • JavaScript란?
      • BOM
        • 전역객체 window
        • 사용자와 커뮤니케이션
        • Location 객체
        • Navigator 객체
        • 창 제어
      • DOM
        • 제어 대상 찾기
        • jQuery
        • HTMLElement
        • Element 객체
          • 식별자 API
          • 조회 API
          • 속성 API
        • Node 객체
          • Node 관계 API
          • Node 종류 API
          • Node 변경 API
          • jQuery 노드 변경 API
          • 문자열로 노드 제어
        • HTMLCollection
      • 이벤트
        • 이벤트 등록
        • 이벤트 전파(버블링과 캡처링)
        • 이벤트 기본 동작 취소
        • 이벤트 타입
      • 네트워크 통신
        • Ajax
        • JSON
  • NOMAD JAVASCRIPT
    • VanillaJS
      • Why JS?
      • ES5, ES6
      • Basic
        • Alert & Console
        • Variable
        • Data Types
        • Array & Object
      • Function
      • DOM
        • Event & Event handler
        • Conditional
        • Function Practice
      • Momentum App
        • Making a JS Clock
        • Saving the User Name
        • To-Do List
        • Image Background
        • Getting Weather
  • DREAM CODING
    • 자바스크립트 기초 강의 (ES5+)
      • JavaScript 역사
      • async & defer / Strict Mode
      • Variable / Hoisting / Data Type
      • Operator / if / Loop
      • Function
        • 함수의 선언
        • 함수의 표현
      • Class
      • Object
      • Array
      • Array API
      • JSON
      • Callback
      • Promise
      • Async & Await
  • WEB BOS
    • #JavaScript30
Powered by GitBook
On this page
  • 로그인(Login)
  • Session 파일 생성
  • 로그인 성공했을 때
  • 로그아웃

Was this helpful?

  1. PHP를 이용한 사이트 작업
  2. PHP와 MySQL

로그인

Previous회원가입Next게시판

Last updated 3 years ago

Was this helpful?

로그인(Login)

로그인 파일생성

login/login.php, loginSave.php, logout.php

connect/session.php, sessionCheck.php

  1. login.php 작성

2. loginSave.php 작성

로그인 실패 시 뜨는 안내문 양식

<h2>안내</h2>
<?php
include '../connect/connect.php';
include '../connect/session.php';

$youEmail = $_POST['youEmail'];
$youPass = $_POST['youPass'];

//메세지 출력
function msg($alert){
    echo "<p class='sub'>{$alert}</p>";
}

//이메일 검사
if( !filter_var($youEmail, FILTER_VALIDATE_EMAIL) ){
    msg("이메일이 잘못되었습니다. <br> 올바른 이메일을 적어주세요!");
    exit;
}

//비밀번호 검사 
if($youPass == null || $youPass == ''){
    msg('비밀번호를 입력해 주세요.');
    exit;
}

//데이터 조회
$sql = "SELECT studyMemberID, youEmail, youName, youPass FROM studyMember WHERE youEmail = '$youEmail' AND youPass = '$youPass'";
$result = $connect -> query($sql);

if($result){
    $count = $result -> num_rows;

    if($count == 0){
        msg("로그인 정보가 없습니다. 회원가입 해주세요!!");
        exit;
    } else {
        $memberInfo = $result -> fetch_array(MYSQLI_ASSOC);

        // echo "<pre>";
        // var_dump($memberInfo);
        // echo "</pre>";

        $_SESSION['studyMemberID'] = $memberInfo['studyMemberID'];
        $_SESSION['youEmail'] = $memberInfo['youEmail'];
        $_SESSION['youName'] = $memberInfo['youName'];

        Header("Location: ../pages/main.php");
    }
} else{
    msg("에러발생 : 관리자에게 문의하세요!!");
}


?>

Session 파일 생성

3. connect/session.php

SESSION

프로세스들 사이에서 통신을 하기 위해 서로를 인식한 이후 통신을 마칠 때까지의 기간을 의미

//session_start() 함수 : 세션 시작 또는 기존의 세션을 다시 시작할 수 있음
<?php
    session_start();
?>

4. sessionCheck.php 파일생성

$_SESSION : 세션 변수를 수퍼 글로벌인 $_SESSION 배열에 등록

<?php
    if( !isset($_SESSION['studyMemberID']) ){
        Header("Location:../login/login.php");
    }
?>

5. main.php에 session.php 파일 불러오기

<?php
    include '../connect/connect.php';
    include '../connect/session.php';
?>

로그인 성공했을 때

6. 로그인 성공 시 환영메세지를 출력하기 위한 header.php 수정

<header id="header">
    <h1><a href="index.html">PHP</a></h1>
    <nav>
        <h2 class="screen_out">메인 메뉴</h2>
        <ul>
            <li aria-haspopup="true"><a href="../comment/comment.php">댓글쓰기</a></li>
            <li><a href="lecture.html">강의</a></li>
            <li><a href="sql.html">MySQL</a></li>
            <li><a href="#">로그인</a></li>
            <li><a href="../board/board.php">게시판</a></li>
        </ul>
    </nav>
    <div class="member">
        <strong class="screen_out">회원 정보 영역</strong>
        <?php if(isset($_SESSION['studyMemberID'])){ ?>
                <a href="#c"><?=$_SESSION['youName']?>님 환영합니다.</a>
                <a href="../login/logout.php">로그아웃</a>
        <?php } else { ?>
                <a href="../login/login.php">로그인</a>
                <a href="../login/join.php">회원가입</a>
        <?php } ?>
    </div>
</header>

로그아웃

7. logout.php

<?php
    include '../connect/session.php';

    unset($_SESSION['studyMemberID']);
    unset($_SESSION['youEmail']);
    unset($_SESSION['youName']);    

?>

<script>
    location.href = "../pages/main.php";
</script>
3KB
login.php
3KB
loginSave.php