세션을 사용하는 웹 페이지의 코드를 작성했습니다. Mac을 사용하고 있으며 정상적으로 작동합니다. Windows에서 내 페이지를 보았는데 세션이 작동하지 않는 것 같습니다. 다른 페이지에는 존재하지 않는다고 선언 한 세션 변수가 나타납니다. 내가 가지고있는 모든 페이지의 시작 부분에 session_start()
을 사용했습니다. 이 문제에 관해 읽은 해결책 중 하나는 session_write_close()
을 사용하는 것이었지만 작동하지 않았습니다. var_dump()
을 $_SESSION
에 사용하면 동일한 페이지에 선언 된 것을 볼 수 있습니다 (Mac 및 Windows의 경우 모두 해당). Windows와 Mac에서는 Chrome을 사용했습니다. 그리고 내가 맥에서 작동하는 이유 중 하나는 오류가 발생하지 않았기 때문이었습니다. 그러나 Windows에서 에러 라인을 얻었고 사용하고있는 세션의 인덱스가 정의되지 않았다고 말했습니다.세션이 제대로 작동하지 않습니다.
내 경우 어떤 문제가 있습니까? 어떻게 해결할 수 있습니까?
는 편집 : 여기
세션의 변수를 설정하는 코드입니다,이 페이지<?php
session_start();
session_destroy();
$_SESSION["contestant_name"]["topics_done"] = array(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE); // topics done
$_SESSION["contestant_name"]["topics_score_correct"] = array();
$_SESSION["contestant_name"]["topics_score_wrong"] = array();
$_SESSION["contestant_name"]["correct"] = 0;
$_SESSION["contestant_name"]["wrong"] = 0;
?>
의 첫 번째 블록 그리고 여기 읽기 변수에 대한 코드입니다
<?php
session_start();
if (isset($_POST["submit"]))
$name = $_POST["name"];
if(!isset($_SESSION["contestant_name"]["name"]))
$_SESSION["contestant_name"]["name"] = $name;
// if ($_SESSION["contestant_name"]["name"] == "")
// $_SESSION["contestant_name"]["name"] = $name;
print $_SESSION["contestant_name"]["name"];
$arr = $_SESSION["contestant_name"]["topics_done"]; // getting it as null or empty
var_dump($_SESSION);
print count($arr);
print_r($arr);
?>
여기에 이전 페이지에 세션 변수를 저장 한 후 세션 변수를 사용하려고합니다.
쿠키를보세요. – SLaks
phpinfo()의 세션 부분은 무엇입니까? – frenus
이걸 로컬 호스트에서 실행하고 있습니까? –