بازگشت به صفحه قبل بعد از Update

[rtl][font="Tahoma"]سلام

یک فرم ویرایش اطلاعات کاربری دارم . خب حالا می خوام از یه جای دیگه سایتم کاربر رو لینک بدم به این فرم ویرایش . ووقتی که کاربر دکمه ویرایش رو زد دوباره برگرده به همون صفحه ای که ازش اومده .

تو yii برای بازگشت به url قبلی از کد زیر استفاده میشه .


Yii::app()->request->urlReferrer

حالا مشکل اینجاست که چون اکشن فرم به خودش برمیگرده در نتیجه urlReferrer همیشه برابره با url فعلی (همون آدرس فرم ویرایش)

دوستان اگر کسی قبلا این مشکل رو داشته و به راه حل رسیده ممنون میشم راهنمایی ام کنید .

[/font]

[/rtl]

[rtl]سلام.

اونطوری که من متوجه شدم، مشکل شما این هست که چون فرم update به خودش submit میشه، شما نمی تونید بفهمید کاربر از کجا به فرم شما رسیده.

برای این کار یا می تونید یه فیلد hidden بذارید که value اون


Yii::app()->request->referrerUrl

باشه، یا می تونید این متغیر رو توی session بریزید و قبل از redirect اون رو پاک کنید.[/rtl]

[font="Tahoma"][rtl]آره منظورم همین بود ممنون ولی خودم همین کارو کردم یعنی از سشن استفاده کردم .

بعضی از حالات بوجود میاد که نمیشه پوشش اش داد .

مثلا به محض اجرای کنترلر سشن رو ست میکنم خوب بعد کی unset اش کنم اگر قرار باشه موقع model->save آنست اش کنم که شاید کاربر دکمه update رو نزنه و دوباره از یه جای دیگه سایت بیاد به صفحه ویرایش و وقتی ذخیره رو زد اشتباه برمیگرده به صفحه ای که تو سشن قرار داره .

به هر حال گفتم شاید کسی قبلا چنین مشکلی داشته باشه و حل اش کرده باشه .

[/rtl][/font]

[rtl]سلام.

شاید اشتباه متوجه شدم، ولی اگه شما هر دفعه که این صفحه باز میشه session رو set کنید، همیشه مقدار اون مساوی صفحه ای میشه که کاربر ازش اومده، و تا جایی که متوجه شدم تنها راه call کردن action شما یا با پست کردن فرم هست یا بدون اون. اگه پست بشه که update میشه بعد هم user رو redirect میکنین. اگه نه که referrerUrl رو ثبت میکنین توی session.[/rtl]