doLogin 시점에 생성한 정보를 수정할 수 없나요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
controller에 작성한 부분이라 url을 첨부하지 못하였습니다.
회원정보중 외부에서 가져오는 정보가 있는데, 이를 로그인 하는 시점에 logged_info->extra0 이라는 변수에 할당합니다.
해당 변수는 잘 가져와서 씁니다만, 로그인 이후 해당정보를 본인이 수정할 수 있는데, 이 변수를 수정하여 저장해도, 저장하기 전 변수가 불러와집니다.
member.controller.php에 있는 setSessionInfo함수의 주석을 보면 세션정보를 만들거나 업데이트시 쓴다고 하는데,
정보 수정후 호출해도 업데이트 되지 않네요.
현재는 이런식으로 해보는데, 이론상은 맞는것 같은데 되질 않네요 ㅠ
다른페이지에서도 사용할 수 있게 session update방법을 아시는 분 있으면 알려주시면 감사드리겠습니다 ㅠㅠ
$logged_info=Context::get('logged_info');
//extra0에 아무것도 없음
$logged_info->extra0 = 123;
//extra0에 123이 할당
Context::set('logged_info', $logged_info);
//다른페이지를 가면 extra0에는 아무값도 할당되어있지 않음
//extra0에 아무것도 없음
$logged_info->extra0 = 123;
//extra0에 123이 할당
Context::set('logged_info', $logged_info);
//다른페이지를 가면 extra0에는 아무값도 할당되어있지 않음
댓글 1
PHP, 자바스크립트 등의 모든 변수는 해당 페이지에만 존재하는 것이 원칙입니다.
다른 페이지로 가면 모든 변수는 초기화됩니다.
유일한 예외는 세션 데이터를 저장하는 $_SESSION 입니다.
예를 들어 $_SESSION['extra0'] = 123; 해놓으면
다른 페이지에서도 $_SESSION['extra0'] 을 사용할 수 있습니다.
그 밖의 모든 변수는 페이지마다 초기화됩니다. Context도 얄짤없습니다.