codememo

PHP 세션 변수 설정 취소

tipmemo 2023. 8. 6. 10:07
반응형

PHP 세션 변수 설정 취소

저는 놉 프로그래머이기 때문에 명백한 실수에 대해 미리 사과드립니다.지난 한 주 동안 제품 데이터베이스 같은 것을 만드는 데 시간을 보냈습니다.양식을 사용하여 제품을 추가하고, 추가된 모든 제품을 볼 수 있는 등의 이점이 있습니다.양식 입력 데이터를 통해 생성된 세션을 사용하고 있습니다.제품 삭제 페이지가 작동하는 것을 포함하기 위해 고군분투하고 있습니다. 변수를 지우기 위해 unset을 사용하려고 했지만 너무 작동하지 않습니다.

세션 변수를 설정하는 ADD Product 페이지:

$_SESSION['Products'][] = $_POST; //is how i set the session on the add products page. 

unset $_SESSION['Products'][]; //is how i have tried to clear the session although it does not work.

올바른 방향의 어떤 지점이든 감사하겠습니다!

다음을 사용하여 세션 변수의 설정을 취소할 수 있습니다.

  1. session_unset 모든 세션 변수를 해제합니다. 이는 다음을 사용하는 것과 같습니다.$_SESSION = array();사용되지 않는 이전 코드의 경우)
  2. unset($_SESSION['Products']);세션 변수에서 제품 인덱스만 설정 취소합니다.사용한 것이 아니라 기능처럼 사용해야 합니다.)
  3. session_destroy 세션에 등록된 모든 데이터를 삭제합니다.

사용 방법의 차이를 확인하는 방법session_unset그리고.session_destroySO 답변을 읽으십시오.도움이 됩니다.

제가 했던 것과 같은 이유로 누군가가 이 페이지에 올 경우를 대비하여 이 답변을 첨부합니다.저는 그 문제를 추적하느라 난처한 시간을 낭비했을 뿐입니다.전화하고 있었어요.

unset($_SESSION['myVar']);

로그아웃 스크립트에서.로그인이 필요한 페이지로 이동하는 동안 서버는 여전히 내가 로그인했다고 생각했습니다.문제는 로그아웃 스크립트가 호출되지 않았다는 것입니다.

session_start();

세션을 먼저 시작하지 않으면 세션 변수 설정을 해제할 수 없습니다.

설정 해제는 함수입니다.따라서 어떤 변수를 파기해야 하는지 제출해야 합니다.

unset($var);

당신의 경우에는

unset ($_SESSION["products"]);

전체 세션 변수를 재설정해야 하는 경우 전화하십시오.

session_destroy ();

세션을 완전히 지우려면 다음을 사용할 수 있습니다.

session_unset();
session_destroy();

사실 둘 다 필요하지는 않지만 아프지는 않습니다.

특정 부분만 삭제하려면 다음과 같이 해야 합니다.

unset($_SESSION['Products']);
//or
$_SESSION['Products'] = "";

당신이 필요로 하는 것에 따라 다릅니다.

unset연산자가 아닌 함수입니다.처럼 사용unset($_SESSION['key']);해당 세션 키의 설정을 해제합니다.그러나 사용할 수 있습니다.session_destroy();또한. (세션을 시작할 때는 다음과 같이 하십시오.)session_start();또한)

PHP 세션 삭제

PHP 세션은 session_destroy() 함수에 의해 파괴될 수 있습니다.이 함수에는 인수가 필요하지 않으며 한 번의 호출로 모든 세션 변수가 삭제될 수 있습니다.단일 세션 변수를 삭제하려는 경우 unset() 함수를 사용하여 세션 변수의 설정을 해제할 수 있습니다.

다음은 단일 변수의 설정을 해제하는 예입니다.

<?php    unset($_SESSION['counter']); ?>

다음은 모든 세션 변수를 파괴하는 호출입니다.

<?php    session_destroy(); ?>
// set
$_SESSION['test'] = 1;

// destroy
unset($_SESSION['test']);
$_SESSION['Poducts'] = 1; // set
unset($_SESSION['Products']); //unset
        

unset에 대한 답은 모두 맞지만 한 가지 수정이 필요합니다. 당신이 않경우은지하를 사용하지 .session_start()그자리의 unset()절대 안 될 겁니다이렇게 하는 것을 추천합니다.

session_start();
unset($_SESSION['productID']);

언급URL : https://stackoverflow.com/questions/37586585/php-unset-session-variable

반응형