#php #yii
#php #yii
Вопрос:
я использую следующий код, как указано ниже, но некоторые как, если условие второго из второго блока завершается неудачей, и каждый раз страница перенаправляется на ссылку, указанную во 2-м блоке if.
if($_session['redirect']=='')
{
Yii::app()->session['redirect'] = 'redirect';
}
if(Yii::app()->session['redirect']=='redirect')
{
Yii::app()->session['redirect'] = 'redirect_test';
$this->redirect(array('/site/page','view'=>"nh7"));
}
Комментарии:
1. я упомянул session_start() в верхней части моей страницы
2. Неясно, что вы пытаетесь сделать. Ваш код настроен так, чтобы он в конечном итоге перенаправлялся на ссылку во втором блоке, если для переменной сеанса установлено значение » или «перенаправление»
3. на самом деле я хочу перенаправлять на ссылку каждый раз, когда пользователь входит в систему, и поэтому установил переменную сеанса для перенаправления.
Ответ №1:
Пожалуйста, попробуйте это:
if(!Yii::app()->user->hasState('redirect'))
Yii::app()->user->setState('redirect', 'redirect');
if(Yii::app()->user->hasState('redirect')) {
$redirect = Yii::app()->user->getState('redirect');
if($redirect == 'redirect') {
Yii::app()->user->setState('redirect', 'redirect_test');
$this->redirect(array('/site/page','view'=>"nh7"));
}
}
Пожалуйста, используйте Yii:app()->user->setState()
, setState()
, и getState()
вместо Yii::app()->session['key']
Комментарии:
1. ПОПРОБОВАЛ это, проблема в том, что браузер по умолчанию устанавливает cookie, не зная, как и из-за чего даже после того, как я закрою браузер в следующем месяце, сеанс принимает значение из cookie .. и я не перенаправлен на страницу …. вышеуказанные коды используются в приложении Facebook
2. итак, что мне нужно, когда пользователь посещает приложение, он перенаправляется на эту страницу как перенаправленный… но при установке cookie я не перенаправляюсь на страницу даже после того, как я выхожу из приложения и повторно ввожу его.
3. @aslingga: почему бы вам просто не использовать обычный
else
блок вместо повторения всего условия …..??