session_destroy( )

 

세션 변수와 쿠키만 설정 해제하는 경우 세션은 여전히 ​​서버 측에서 활성화되며 일부 세션 변수가 다시 설정되고 원래 세션 ID가있는 쿠키가 클라이언트로 다시 전송되면 잠재적으로 재활용될 수 있습니다. 따라서, session_destroy( ) 함수를 이용해 세션을 제거하여야 합니다. 

 

 

 

(PHP 4, PHP 5, PHP 7)

 

session_destroy( )  :  세션에 등록된 모든 데이터를 삭제합니다.

 

설명 

 

session_destroy ( void ) : bool

 

session_destroy ()는 현재 세션과 관련된 모든 데이터를 파괴합니다. 세션과 관련된 전역 변수를 설정 해제하거나 세션 쿠키를 설정 해제하지 않습니다. 세션 변수를 다시 사용하려면 session_start ()를 호출해야합니다.

 

세션을 완전히 종료하려면 세션 ID도 설정 해제해야합니다. 쿠키를 사용하여 세션 ID를 전파하는 경우 (기본 동작) 세션 쿠키를 삭제해야합니다. 이를 위해 setcookie ()를 사용할 수 있습니다.

 

 

 

반환 값

 

TRUE성공 또는 FALSE실패 에 대해 반환합니다 .

 

 

예 #1 $ _SESSION을 사용하여 세션 삭제

<?php
// 세션을 초기화하십시오.
// session_name("something")을 사용하고 있다면 지금 잊지 마십시오!

session_start();

// 모든 세션 변수 설정 해제.

$_SESSION = array();

// 세션을 종료하려면 세션 쿠키도 삭제하십시오.
// 참고: 이렇게 하면 세션이 파괴되고 세션 데이터만 파괴되는 것이 아니다!

if (ini_get("session.use_cookies")) {
    
$params session_get_cookie_params();
    
setcookie(session_name(), ''time() - 42000,
        
$params["path"], $params["domain"],
        
$params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>

 

 

session_start() : php에서 세션을 관리(핸들링)하기 위해 선언하는 함수.

 

 

세션


세션(session)이란?

 

세션(session)이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 의미합니다.

사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 합니다.

 

앞서 살펴본 쿠키는 클라이언트 측의 컴퓨터에 모든 데이터를 저장합니다.

하지만 세션은 서비스가 돌아가는 서버 측에 데이터를 저장하고, 세션의 키값만을 클라이언트 측에 남겨둡니다.

브라우저는 필요할 때마다 이 키값을 이용하여 서버에 저장된 데이터를 사용하게 됩니다.

 

이러한 세션은 보안에 취약한 쿠키를 보완해주는 역할을 하고 있습니다.


세션 시작

PHP에서는 session_start() 함수를 이용하여 새로운 세션을 시작하거나, 기존의 세션을 다시 시작할 수 있습니다.

 

session_start() 함수는 세션 아이디가 이미 존재하는지를 확인하고, 존재하지 않으면 새로운 아이디를 만듭니다.

만약 이미 존재하는 세션 아이디가 있을 때는 원래 있던 세션 변수를 다시 불러와서 사용할 수 있도록 합니다.

 

세션 아이디는 웹 서버에 의해 무작위로 만들어진 숫자입니다.

이 세션 아이디는 세션이 유지되는 동안 클라이언트 측에 저장되며, 세션 변수를 등록하는 키로 사용됩니다.

웹 서버에서는 클라이언트로부터 받아온 세션 아이디를 가지고, 해당 아이디에 대응되는 세션 변수에 접근할 수 있습니다.

 

쿠키와 마찬가지로 세션도 어떤 헤더보다도 먼저 생성해야만 합니다.

 

<예제>

@session_start();

 

세션의 지속 시간은 쿠키와 달리 php.ini 파일에 설정되어 있으므로, 따로 명시해주지 않아도 됩니다.

 

 

 

 

출처 : 

tcpschool.com/php/php_cookieSession_session

PHP에서 페이지 전환(리다이렉션)을 하고 싶을 때 사용할 수 있는 4가지 방법

 

 

1. 자바스크립트 Location.href 이용

echo "<script>location.href='URL 또는 경로'</script>";

 

2. 자바스크립트 Location.replace 이용

echo "<script>location.replace('URL 또는 경로')</script>";

 

3. Header 이용

header("location: URL 또는 경로");

 

4. 메타태그 이용

echo "<meta http-equiv='refresh' content='시간' url='URL 또는 경로'";

 

 

 

출처 :

tw-news.tistory.com/15

 

 - PHP mysqli_fetch_assoc 란?

 

   mysqli_fetch_assoc 함수는 mysqli_query 를 통해 얻은 리절트 셋(result set)에서 레코드를 1개씩 리턴해주는 함수입니다.

   레코드를 1개씩 리턴해주는 것은 mysqli_fetch_row 와 동일하지만 mysqli_fetch_assoc 함수가 리턴하는 값은 연관배열이라는 점이 틀립니다.

 

 

 - PHP mysqli_fetch_assoc 사용방법

 

   mysqli_fetch_assoc([리절트 셋]);

 

 

​ ​

 

 - 테이블 정보

 

DB명

test_db

테이블명

test_table

 

 - test_table 레코드 정보

seq

name

1

홍길동

2

일지매

3

임꺽정

4

이순신

5

강감찬

6

김유신

 

 

 

 - 예제 1

 

   test_table 의 모든 레코드를 select 구문으로 조회하고 그 결과인 리절트 셋에 대해

   mysqli_fetch_assoc 를 1회 실행한 후 그 결과를 출력하시오.

 

 

 - 예제 1 소스

 

 

   $conn mysqli_connect("127.0.0.1""root""1234""test_db");

 

   $select_query "SELECT seq, name FROM test_table";

   $result_set mysqli_query($conn$select_query);

 

   $row mysqli_fetch_assoc($result_set);

 

   echo '$row : ';

   print_r($row);

   echo '<br>';

 

   mysqli_close($conn);

 

 

 - 결과

 

 

   $row : Array ( [seq] => 1 [name] => 홍길동 )

 

 

 

 [참고사항] mysqli_fetch_assoc 와 mysqli_fetch_row

 

 

   mysqli_fetch_assoc 함수와 mysqli_fetch_row 함수는 동일한 역활을 하지만 반환할 때 일반배열로 리턴하는지 연관배열로

   리턴하는지의 차이가 있습니다. 때문에 받은 배열을 어떤 형태로 읽어들여 사용하느냐에 따라 사용할 함수를 선택하여야 합니다.

 

 

 - 예제 2

 

   test_table 의 레코드 중 seq 가 2 이하인 레코드를 select 구문으로 조회하고 그 결과인 리절트 셋에 대해

   mysqli_fetch_assoc 와 while 문을 이용하여 모두 출력하시오.

 

 

 - 예제 2 소스

 

   $conn mysqli_connect("127.0.0.1""root""1234""test_db");

 

   $select_query "SELECT seq, name FROM test_table WHERE seq <= 2";

   $result_set mysqli_query($conn$select_query);

 

   while ($row mysqli_fetch_assoc($result_set)){

      echo 'seq : '.$row['seq'].', name : '.$row['name'].'<br>';

   }

 

   mysqli_close($conn);

 

 

 - 결과

 

 

   seq : 1, name : 홍길동

   seq : 2, name : 일지매

 

 

 

 

 

출처 : 

m.blog.naver.com/diceworld/220295777271

'Web Programming Language > PHP' 카테고리의 다른 글

PHP) session_start( ) 함수  (0) 2020.10.27
PHP) 다른 페이지로 리다이렉션하기  (0) 2020.10.27
PHP) MySQL 쿼리 실행하기 mysqli_query( )  (0) 2020.10.27
php 웹서버 전송방식  (0) 2020.10.27
empty() 함수  (0) 2020.10.26

 

 - PHP mysqli_query 란?

 

   mysqli_query 함수는 mysqli_connect 를 통해 연결된 객체를 이용하여 MySQL 쿼리를 실행시키는 함수입니다.

 

 

 - PHP mysqli_query 사용방법

 

   mysqli_query([연결 객체][쿼리]);

 

 

​ ​

 

 - 테이블 정보

 

DB명

test_db

테이블명

test_table

 

 - test_table 레코드 정보

 

seq

name

1

홍길동

2

일지매

 

 

 - 예제 1

 

   mysqli_query 를 이용하여 test_table 에 아래와 같은 레코드를 추가하시오.

 

 

 - 추가할 레코드

 

seq

name

3

임꺽정

 

 - 예제 1 소스

 

 

   $conn mysqli_connect("127.0.0.1""root""1234""test_db");

 

   $insert_query "INSERT INTO test_table(seq, name) VALUES(3, '임꺽정')";

   mysqli_query($conn$insert_query);

 

   mysqli_close($conn);

 

 

 - 결과

 

seq

name

1

홍길동

2

일지매

3

임꺽정

 

 

 - 예제 2

 

   mysqli_query 를 이용하여 test_table 의 seq가 1보다 큰 레코드를 모두 삭제하시오.

 

 

 - 예제 2 소스

 

 

   $conn mysqli_connect("127.0.0.1""root""1234""test_db");

 

   $insert_query "DELETE FROM test_table WHERE seq > 1";

   mysqli_query($conn$insert_query);

 

   mysqli_close($conn);

 

 

 - 결과

 

일련번호

이름

1

홍길동

 

 

 

출처 :

m.blog.naver.com/diceworld/220292127761

$_GET

$_POST

$_REQUEST

 

PHP 는 주로 이 세가지 방식으로 사용자에게서 정보를 받는다.

 

$_GET은

전송방식이 get 방식만 받고

 

$_POST는

전송방식이 post 방식만 받는다

 

$_REQUEST로는 get,post 둘다 받아 처리 할 수 있다.

 

Login.html

<form action="./login.php" method="post" autocomplete="off">
	<input type="text" name="id" placeholder="ID">
	<input type="password" name="pw"  placeholder="Password">
	<input type="submit" value="Login">
</form>

HTML

이렇게 폼을 만들어서 login.php에 전송한다면,

$_POST 와 $_REQUEST 로 배열에서 불러올수 있다.

 

$_REQUEST['id'] 와 $_REQUEST['pw'] 로 값을 받아서 처리할수 있다.

 

login.php

echo $_REQUEST['id'];

PHP

와 같이 만들면 전송된 id를 출력한다.

 

 

 

 

출처 :

hi098123.tistory.com/75

+ Recent posts