2013-06-25 4 views
0

세션별로 Yii에서 두 가지 작업간에 데이터를 유지하려고합니다. 나는 ... 하나 개의 동작"노드가 더 이상 존재하지 않습니다"Yii

Yii::app()->session['resultsData'] = $data; 

의 데이터를 작성하고 다음 동작

$this->resultsData = Yii::app()->session['resultsData']; 

에서 그것을 얻으려고하지만 난보기에이 데이터를 인 print_r 할 때있어

<? print_r($this->resultsData); ?> 

나는 얻는다

PHP warning 

print_r() [<a href='function.print-r'>function.print-r</a>]: Node no longer exists 

사실, 어떤 마니 serialize 또는 json_encode와 같이이 데이터 배열을 사용하여 pulate하면이 오류가 반환됩니다. 손상된 데이터 때문일 수 있습니까? 고맙습니다.

+0

yiiiiiiiiii 아들 내가보기에 데이터를 보낼 필요가 –

답변

1

YII :: 응용 프로그램() -> 세션 [ 'resultsData']; 필요가

Yii::app()->session['resultsData'] = $data; 
resultsData =Yii::app()->session['resultsData']; 

와 같은 다른 작업에 액세스를 같이 단지 변수를 할당하는 작업에 $이를 사용하지 않으려면

U가

$this->redirect(array('actionname','resultData'=>$resultData)); 

및 Y에 나타낸 바와 같이 U가 작용하는 변수를 전달할 필요가있는 다른 resultData을 액세서하려면
echo Yii::app()->session['resultsData'] ; 
우리 actionname는 또는 print_r의 에코 액션 사용보기에서
$this->render('ViewName',array('resultData'=>resultData)); 

을 같이이

Yii::app()->createAbsoluteUrl('ControllerName/actionName',array('data'->$data)); 
+0

. 나는 이것조차 시도했다 print_r (Yii :: app() -> session [ 'resultsData']); – cheeseq

+0

업데이트 된 post.And 확인 wheii Yii :: app() -> session [ 'resultsData']가 $ data – Ninad

+0

에 할당 된 값을 얻고 있습니다. 그러나 자바 스크립트로 리디렉션하면 무엇을 조언 할 수 있습니까? – cheeseq

0

어쩌면이 당신을하는 데 도움이 볼 수 보내기

확인 :

$model = new CompanyForm('step1'); 
     if (is_array(Yii::app()->session['step1'])) 
      $model->attributes = Yii::app()->session['step1']; 

if (!is_array(Yii::app()->session['step1'])) 
      $this->redirect(array('createStep1')); 

    $this->render('create', array(
     'model' => $model, 
     'step' => 'step1' 
    )); 

어쩌면 당신은 틀린 장소에 데이터를 저장하고 있습니다;

어쩌면 게시물이 있거나 조치를 취할 수 있습니다.

하고 또한 $ 데이터를 인 print_r 당신이 세션에서 데이터를 저장하기 전에 얻을 와트 참조

관련 문제