2010-01-22 6 views
0

내 데이터베이스가 세션 변수를 변경 한 후 세션 변수에 문제가 있습니다. 뒤로 버튼을 눌렀지만 데이터베이스에서 이미 새 세션 변수가 업데이트되었지만 웹 페이지에는 업데이트되지 않았습니다. 새로운 변수를보기 위해 다시 로그인하십시오.PHP, 세션 문제

어떻게 session_regenerate_id를 사용합니까?

답변

1

php.net에서 복사 :

<?php 
session_start(); 

$old_sessionid = session_id(); 

session_regenerate_id(); 

$new_sessionid = session_id(); 

echo "Old Session: $old_sessionid<br />"; 
echo "New Session: $new_sessionid<br />"; 

print_r($_SESSION); 
?> 
0

당신이 그렇지 않으면 세션이 처리되지 않습니다 스크립트의 상단에 문 아래에 넣어 가지고 있는지 확인하십시오

session_start(); 
+0

이것이 실제 문제라면 내 주먹을 벽에 부셔 버릴 것입니다. –

+0

진정해, 차차. Hola는 데이터가 DB에 있다고 말했기 때문에 세션이 시작되었습니다. coz 세션의 – pib

+0

이 이미 시작되었습니다. -_- – Hola

1

사용자가 다시 버튼을 누르면, 일반적으로 브라우저는 페이지를 다시 요청하지 않고 캐시 된 페이지를 표시하므로 문제가 발생한 부분이 대부분입니다.

session_regenerate_id를 사용하여 호출하면 ... 사용자에게 새 세션 ID가 부여되고 해당 세션이 해당 ID로 이전됩니다. True을 매개 변수로 전달하면 세션도 삭제됩니다. 일반적으로 예방에 사용됩니다 session fixation attacks

+0

하지만 페이지에서 새로 고침을 누르면 변수를 변경하지 않고 아이디어를 해결할 아이디어가 있습니까? – Hola