php Session 에 대해서 알아보자.
샘플이 되는 디자인은
https://startbootstrap.com/template-overviews/sb-admin/
를 이용하고 있습니다.
로그인페이지
login.html , 세션만들기 위한 front page
<form action="sessionstep1.php" method="POST">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input class="form-control" name="exampleInputEmail1" id="exampleInputEmail1" type="email" aria-describedby="emailHelp" placeholder="Enter email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input class="form-control" name="exampleInputPassword1" id="exampleInputPassword1" type="password" placeholder="Password">
</div>
<div class="form-group">
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox"> Remember Password</label>
</div>
</div>
<!--<a class="btn btn-primary
btn-block" href="index.html">Login</a>-->
<input type="submit" class="btn
btn-primary btn-block" value="Login" />
</form>
Session을 쓰는 페이지의 공통요소 session저장소, 유효시간설정등을 정의하는 페이지
includeSession.php 공통함수로 정의함 세션사용하는 페이지에서 include로 사용함.
<?php
// 쿠키를 적용하는 웹페이지에서 p3p 규약을 허용하는 HTTP 헤더를 추가하는 방법
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR
BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
// 세션 파일을 저장할 경로 설정. 설정하지 않으면 php.ini에 기본 경로에 저장.
ini_set('session.save_path',$_SERVER['DOCUMENT_ROOT']."/writtenSession");
// 세션ID를 저장한 쿠키의 유효 시간 설정. 설정하지 않거나 0으로 설정하면 브라우저가 종료되면 쿠키는 파기.
ini_set('session.cookie_lifetime', 0) ;
// 세션파기 유효 시간 설정. (초단위)
ini_set('session.gc_maxlifetime', 1440);
// 서버에 저장된 세션 ID 활성화 시간.(분단위)
ini_set('session.cache_expire', 180);
// 세션 시작
session_start();
?>
sessionstep1.php
login.html page에서 post된 데이터를 이용 세션에 담기
<?php
include("includeSession.php");
?>
<?php
echo "var_dump:<br>";
var_dump($_POST);
?>
<?php
if (isset($_POST) && sizeof($_POST) > 0) {
$snEmail = $_POST['exampleInputEmail1'];
$snId = "doitforyou";
$snGroup = "MASTER";
echo "<br/><br/>";
echo "세션 ID : ".session_id();
echo "<br/>";
echo "<br/>저장할 이메일 : ".$snEmail;
echo "<br/>저장할 ID : ".$snId;
echo "<br/>저장할 그룹 : ".$snGroup;
// 세션에 저장
$_SESSION['snEmail'] = $snEmail;
$_SESSION['snId'] = $snId;
$_SESSION['snGroup'] = $snGroup;
echo "<br>세션생성완료";
//exit;
}
?>
<pre>
go to the next,
sessionStep2 => <a href="./sessionstep2.php">CLICK</a>
</pre>
sessionstep2.php
세션에 저장된 데이터를 확인함.
<?php
include("includeSession.php");
echo "세션 ID : ".session_id();
echo "<br/>";
if(isset($_SESSION['snEmail']))
{
echo "<br/>저장된 snEmail : ".$_SESSION['snEmail'];
echo "<br/>저장된 snId : ".$_SESSION['snId'];
echo "<br/>저장된 snGroup : ".$_SESSION['snGroup'];
}
else
{
echo "<br/>저장된 email이 존재하지 않습니다.";
}
?>
<pre>
go to the next,
logout => <a href="./logout.php">CLICK</a>
</pre>
테스트 페이지 순서 : login.html > sessionstep1.php >
sessionstep2.php
적용페이지 : http://doitforyou.co.kr/admin/login.html


refer to : http://itsaessak.tistory.com/m/181 | http://extbrain.tistory.com/m/67 | http://egloos.zum.com/indirock/v/1497640