2013-06-12 2 views
0

세션을 사용하는 웹 페이지의 코드를 작성했습니다. 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); 

?> 

여기에 이전 페이지에 세션 변수를 저장 한 후 세션 변수를 사용하려고합니다.

+0

쿠키를보세요. – SLaks

+0

phpinfo()의 세션 부분은 무엇입니까? – frenus

+0

이걸 로컬 호스트에서 실행하고 있습니까? –

답변

1

아무것도하기 전에 모든 페이지의 상단에있는 코드를 다른 수

<?php session_start(); 
ob_start();?> 

(나는 그것을 넣어 한대로 맨 윗줄에 확실하게) 그리고 모든 페이지 넣어 하단에해야

<?php ob_end_flush();?> 

첫 번째 코드 앞에 또는 두 번째 코드 뒤에 아무 것도 넣지 마십시오.

+0

작동하지 않았습니다. –

+0

@ aizen92이 변수를 설정하고 읽는 코드를 제공 할 수 있습니까? –

+0

.... .... HTML 태그 앞에 있는지 확인하십시오. –

관련 문제