Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- C
- Python
- 생활코딩
- greedy
- udemy
- JavaScript
- String
- php
- DP
- web
- 따라하며 배우는 C언어
- Algorithm
- server
- programmers
- BOJ
- Math
- BASIC
- 따라하면서 배우는 C언어
- 종만북
- 따배씨
- BFS
- C언어
- 백준
- sorting
- graph
- 인프런
- Cleancode
- 정수론
- dfs
- Algospot
Archives
- Today
- Total
몽상실현개발주의
[생활코딩] 16.3 PHP 에서 세션 사용하기 - 2 본문
생활코딩 php 강좌
16. 쿠키와 세션
16.3 PHP 에서 세션 사용하기 - 2
- Session 의 사용
- 사용자 인증
- 인증된 사용자에 대한 Login 상태 유지 등
// login.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>
<body>
<form action="login_process.php" method="POST">
<p><label>아이디</label><input type="text" name="id" /></p>
<p><label>비밀번호</label><input type="text" name="pwd" /></p>
<input type="submit" />
</form>
</body>
</html>
- POST 방식으로 login 정보를 login_process.php 에 전달
// login_proecess.php
<?php
session_start();
$id = 'egoing';
$pwd = 'codingeverybody';
if(!empty($_POST['id']) && !empty($_POST['pwd'])){
if($_POST['id'] == $id && $_POST['pwd'] == $pwd){
$_SESSION['is_login'] = true;
$_SESSION['nickname'] = '이고잉';
header('Location: ./session.php');
exit;
}
}
echo '로그인 하지 못했습니다.';
?>
session_start();
- session 시작
if(!empty($_POST['id']) && !empty($_POST['pwd'])){
if($_POST['id'] == $id && $_POST['pwd'] == $pwd){
$_SESSION['is_login'] = true;
$_SESSION['nickname'] = '이고잉';
header('Location: ./session.php');
exit;
}
- ID 와 Password 검증 후, session 에 정보 저장
- is_login : login 상태 정보
- nickname : 유저 정보
- session.php Page 로 전달 및 이동
// session.php
<?php
session_start();
if(!isset($_SESSION['is_login'])){
header('Location: ./login.html');
}
?>
<html>
<body>
<?php echo $_SESSION['nickname'];?>님 환영합니다<br />
<a href="./logout.php">로그아웃</a>
</body>
</html>
<?php
session_start();
if(!isset($_SESSION['is_login'])){
header('Location: ./login.html');
}
?>
- session 시작 후, session 에 저장된 login 상태 정보 확인
- isset(value) : value 의 존재 여부를 확인, 변수가 존재하면 true
- login 을 하지 않았다면, is_login 값이 없음
- login 을 해야지만, true 로 선언 및 초기화
- empty(value) : value 가 0 또는 null 일때 (변수가 존재하지 않아도) true
- isset(value) : value 의 존재 여부를 확인, 변수가 존재하면 true
// logout.php
<?php
ini_set("display_errors", "1");
session_start();
session_destroy();
header('Location: ./login.html');
?>
- session_destroy()
- logout 시 모든 session Data 삭제
- session 초기화
이 글의 모든 사진과 내용의 출처는 생활코딩에 있음을 알려드립니다.
'Language > php' 카테고리의 다른 글
[생활코딩] 17.2 함수와 객체의 비교 (0) | 2021.06.05 |
---|---|
[생활코딩] 17.1 객체 지향 프로그래밍이란? (0) | 2021.06.05 |
[생활코딩] 16.2 PHP 에서 세션 사용하기 - 1 (0) | 2021.05.21 |
[생활코딩] 16.1 PHP 쿠키 (0) | 2021.05.21 |
[생활코딩] 15.8 디버깅 (0) | 2021.05.21 |
Comments