다중 페이지 가입 정보를 임시 저장하려고합니다. 이전 세션이 새로운 가입 데이터를 엉망으로 만들고 싶지 않기 때문에 이전 세션을 파괴하려고합니다. 문제는 다음과 같습니다.session_destroy() + session_start()가 헤더 리디렉션 이후가 아님
signup1.php
//Start new session
session_regenerate_id(TRUE);
session_destroy();
unset($_SESSION);
session_start();
//Store values in session
$_SESSION['created'] = time();
//Redirect to second step
header('Location: '.$settings->siteurl.'signup2.php');
exit();
signup2.php
<pre>
<?php
//Print $_SESSION (empty array)
print_r($_SESSION);
?>
작업 (그러나 오래된 $ _SESSION 값 + 업데이트 된 값 반환) :
작동하지
을//Start new session
session_regenerate_id(TRUE);
//Store values in session
$_SESSION['created'] = time();
//Redirect to second step
header('Location: '.$settings->siteurl.'signup2.php');
exit();
무엇이 문제를 해결할 수 있습니까? 첫 번째 session_start(); init.php에 설정되어 있지만 session_regenerate_id (TRUE)보다 위에 놓으면 상관 없습니다. 배열은 비어 있습니다.
감사합니다. 하지만 사용자의 세션 데이터를 재설정하여 모든 값이 새로 추가되거나 삭제되도록하려면 어떻게해야합니까? – Hidde
세션을 완전히 파괴하고 그 데이터를 완전 삭제 하시겠습니까? –
예. 사용자가 이미 양식을 한 번 제출하고 세션에 값을 넣었으며 페이지 2로 리디렉션되었다고 가정합니다. 1 페이지에 양식을 다시 제출하면 해당 양식을 삭제하고 싶습니다. – Hidde