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




'프로그래밍 > PHP' 카테고리의 다른 글

angularJS 사용하기  (0) 2018.04.01
json 데이타 사용하기  (0) 2018.03.28
Cookie 사용하기  (0) 2018.03.18
Session 사용하기  (0) 2018.03.17
반응형 웹개발 admin 페이지 step1  (0) 2018.03.04
PHP Programming 해보기  (0) 2018.03.02

+ Recent posts