首先我有两张桌子
1)家庭 - 存储有关家庭的数据,如家庭,城市,家庭电话,地址,电子邮件
等
2)人 - 关于个人的商店
persontype,gender,mobile,email,firstname,lastname等
这些表格在注册时填写。
注册后,
每当用户登录来自个人和家庭的所有数据时 检索并存储在会话中,并通过会话在网站的任何地方使用。
$person=new Person();
$account=Onlineaccount::model()->find(array('select'=>'PersonId,EmailAddress,LastLoginDate,FailedLoginCount', 'condition'=>'EmailAddress=:EmailAddress','params'=>array(':EmailAddress'=>$model->username),));
$person=new Person();
$person=Person::model()->find(array('select'=>'PersonID,FamilyId,FirstName,LastName,MiddleInitial,
MobilePhone,PrimayContact,PersonTypeCode,DateOfBirth,GenderCode,EmailAddress', 'condition'=>'PersonID=:PersonID','params'=>array(':PersonID'=>$account->PersonId),));
$familyDetails=Family::model()->find(array('select'=>'FamilyID,HomeAddress1,HomeAddress2,HomeAddress3,City,State,Zipcode,HomePhone,HomeFlag,CurrChapterCode,FinanceMasterRecID,Membersince',
'condition'=>'FamilyID=:FamilyID','params'=>array(':FamilyID'=>$person->FamilyId),));
// $session=new CHttpSession;
// $session->open();
$_SESSION['newaccount'] = serialize($account);
$familyDetails->firstName= $person->FirstName;
$familyDetails->middleName= $person->MiddleInitial;
$familyDetails->lastName= $person->LastName;
$familyDetails->gender= $person->GenderCode;
$familyDetails->dob= $person->DateOfBirth;
$familyDetails->email= $person->EmailAddress;
$familyDetails->userName= $account->EmailAddress;
$familyDetails->mobilePhone= $person->MobilePhone;
$familyDetails->registrantType= $person->PersonTypeCode;
$familyDetails->PersonID=$person->PersonID;
$familyDetails=$this->getMembershipDetails($person->FamilyId,$familyDetails);
$_SESSION['familyDetails'] = serialize($familyDetails);
现在的问题是,当用户登录并在他的个人资料中,他想通过更新表单更改lastname
这样的字段... lastname
正在更新,但更新后的数据也没有显示由于sessions
...当用户logout
和login
显示新更新的数据时显示最后一个数据。
如何在yii中通过会话刷新后显示更新的数据 感谢阅读和等待建议..请帮助我..
答案 0 :(得分:0)
更新配置文件后,再次重新分配会话值。然后,只有您可以在应用程序的每个位置访问更新的数据。