전역변수의 값이 변경되지 않습니다.
본문
extend/user.config.php 파일에서
$g_test = "전역변수"; 라고 선언하였습니다.
a.php
global $g_test;
echo $g_test;
b.php
global $g_test;
$g_test = "값변경";
A페이지에 가면 "전역변수"라고 잘 출력이 됩니다.
B페이지에 갔다가 A페이지로 가면 "값변경"이라고 나와야되는데 그래도 "전역변수"라고 나옵니다.
한마디로 B페이지에서 값이 변경안된 것 같습니다.
전역변수가 수정이 안된 것 같은데 왜 그런지 모르겠습니다.
혹시 페이지 이동할 때 모든 페이지가 리로드 되어서 그런가요?
user.config.php, config, head.sub.php 등등이 페이지 이동마다 매번 리로드되면 자원 낭비인 것 같은데 궁금하네요.
sql에 접속해서 자주쓰는 내용은 user.config.php 전역변수에 저장해났다가 계속 쓰려고 했는데
매번 페이지 들어갈 때마다 반복해서 sql에 접속해서 전역변수에 저장한다면 자원낭비같습니다.
답변 3
페이지가 변경시 변경된 값을 반영을 할수 없기에 해당 값을 세션이나 쿠키값을 저장해서 처리하시거나 변수를 전송해서 변경값이 인식되게끔 적용해 주셔야 합니다.
페이지 로딩할때마다 다시 불러옵니다.
변수값을 저장하실려면 쿠키나 세션을 이용해야 합니다.
아래 함수 참조..
set_session()
get_session()
set_cookie()
get_cookie()
전역은 같은 페이지에서 다른 함수등에서 사용하는 방식이고 페이지 이동 후에도 쓰실려면 세션이나 쿠키를 이용하셔야 합니다.