오늘 몇 가지 이상한 세션 동작이 나타났습니다. 먼저 WordPress 웹 사이트의 등록 기능을 생성해야합니다. 나는 과거 WordPress에서 상당한 양의 일을 해왔지만 서버 측 스크립팅 언어와 관련된 일은 결코하지 않았다.세션 변수가 PHP에서 사라졌습니다.
필자는 작업 환경을 테스트하고있었습니다. MySQL에 연결하고 세션이 작동하는지 확인하고 기본적으로 설정에 익숙해지는 작업 환경을 테스트했습니다. 세션을 테스트 할 때
, 나는 다음을했다 :<?php
$timer = time();
$_SESSION[$timer] = $timer;
print_r($_SESSION);
?>
나는 이런 식으로 뭔가 볼 수있는 페이지의 첫 번째로드에서 기다리고 있었다
: 정확히 무엇을 인 ...
Array
(
[1396745563] => 1396745563
)
을 일어난. 두 번째 새로 고침, 나는보고 싶어 :
Array
(
[1396745563] => 1396745563
[1396745570] => 1396745570
)
...하지만 그 대신, 나는 보았다
Array
(
[1396745570] => 1396745570
)
와우! 타임 스탬프 1396745563에 대한 원래 세션 변수는 사라졌으며 새 세션이있었습니다.
내 즉각적인 반응은 session_start()
이 누락되었지만 그럴 수 없다는 것이 었습니다. 그냥 더 뭔가 이것에 대해 이상한 것을 자신을 설득, I는 다음과 같이 사용하려면 코드를 변경 :
<?php
$timer = time();
$_SESSION['time_' . $timer] = $timer;
print_r($_SESSION);
?>
나는 아마도 인덱스에 대한 타임 스탬프와 세션 변수를 갖는 특별한 행동의 일종을 한 것으로 생각했다 (이 내가 아는 모든 것에 대해이 질문에 대한 답이 될 수 있습니다.)
이번에는 예상대로 작동합니다. 어레이 인쇄물에 추가 된 페이지가 새로 고침됩니다. 괴짜 변수 (난 그냥 정확한되고있어) 내 원래의 시도에서 이월 세션 데이터입니다
Array
(
[time_1396745663] => 1396745663
[time_1396745667] => 1396745667
[time_1396745671] => 1396745671
[time_1396745675] => 1396745675
[1396745570] => 1396745570
)
그건 : 페이지의 몇 새로 고침 후,이 같은 것을 보았다.
누군가가이 매우 이상한 행동을 설명 할 수 있습니까? 내가 그 일을 할 수 있었음에도 불구하고 그렇게 할 수 있었던 것이 무엇인지 생각할 수 없다.
참고 : 저는 이것이 WordPress와 아무런 관련이 없다고 생각합니다. 나는 이것을하기위한 동기를주기 위해 그것을 포함 시켰습니다.
'으로 session_start()를,'위에, 당신은 볼 것 이 알림 .. ** '알 수 없음 : 숫자 키 건너 뛰기'**. 세션을 사용하기 전에 항상'session_start();'를 추가하는 것이 좋습니다. –