0
我開發了一個頁面。每當用戶訪問該頁面時,都會創建一個會話。現在,如果用戶在瀏覽器的兩個不同選項卡中打開同一頁面,則會創建兩個不同名稱的會話。阻止會話重新創建頁面
我使用
public function actionSessionCreate(){
do {
$sessionName= uniqid();
}while (isset(Yii::app()->session[$sessionName]));
Yii::app()->session[$sessionName]='any value';
}
創建會話名稱。 直到現在它的工作正常。
但我可以預見的問題是,如果用戶只是刷新頁面,那麼它也會爲此創建一個新的會話。而且,如果用戶只是來回移動,則會一次又一次地創建新的會話。
那麼我該如何解決這個問題?
My logic:-
我想在創建會話名稱時使用的URL中發送一個標識符。如果用戶只刷新同一頁面,它將檢查包含標識符的任何會話名稱。如果發現它,它不會創建會話。否則它會創建它。
我該用這個邏輯嗎?或者我不應該玩這樣的會議?
沒有你創建新的前檢查會議? –
我不能檢查會話的名稱,因爲會話名稱不會從一個頁面傳遞到另一個頁面。它僅在該頁面上創建,並且也具有唯一的名稱。當用戶刷新頁面時,我也失去了會話的名稱。 –
id您的控制器和操作具有唯一的名稱,您可以使用它們 –