2014-10-17 2 views
1

저는 PHP의 세션 변수로 정말 이상한 행동을하고 있습니다.

문제는 명백한 이유없이 세션 값이 자동으로 다시 쓰여지는 것입니다.

<?php 

session_start(); 
$_SESSION["id"] = 5; 
echo $_SESSION["id"]; // Echoes 5 
$id = $_REQUEST["id"]; // Being for example $_REQUEST["id"] = 3 
echo $_SESSION["id"]; // Echoes 3 

?> 

그것이 잘못 뭔가 될 수있다

코드를 나타낸이 같은 것입니다?

P.S : 실행 PHP 버전 당신은 아마 당신의 php.ini 구성에에 register_globals 세트가 5.3.3

답변

2

입니다. 즉, 변수 $id을 사용하여 $_SESSION['id']을 참조 할 수 있으며 위의 예에서 볼 수있는 문제가 발생합니다. php.ini에서 register_globals을 off로 설정하고 다시 시도하십시오.

+0

감사합니다. 정말 쉬운 솔루션입니다! 문제 2는 클라이언트가 PHP 변수를 변경할 가능성이없는 공유 호스팅에서 프로그램을 사용하는 _ 필수 사항입니다. 그래서 이것을 대답으로 선택했지만, 불행히도 내 문제를 해결할 수 없습니다. – jila

+0

.htaccess 파일에 다음을 추가해보십시오. php_flag register_globals 0 – danmullen

+0

할 수 없습니다 ... 거의 무료 공유 호스팅의 단점 중 하나입니다. if 클라이언트는 업데이트를 원한다. php.ini에서 ini_set() 또는 .htaccess 파일을 사용하여'register_globals'를 비활성화하는 문제를 해결할 것이다. 어쨌든 고마워. – jila

관련 문제