Подтвердить что ты не робот

Yii2 перенаправление на предыдущую страницу

Теперь мое приложение использует gridview для отображения всей информации, а также имеет разбиение на страницы. Когда пользователь нажимает номер страницы и затем нажимает на редактирование, а затем сохраняет. Он перенаправляет пользователя на просмотр страницы. Что я хочу сделать, чтобы перенаправить пользователя на предыдущую страницу (url с номером страницы).

4b9b3361

Ответ 1

Вы можете использовать Yii::$app->request->referrer, который возвращает последнюю страницу, на которой был включен пользователь.

Использование прост:

return $this->redirect(Yii::$app->request->referrer);

Также необходимо учитывать, что referrer может быть null:

return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);

Смотрите документы.

Ответ 2

Здесь говорится, что это хорошая практика, чтобы проверить, установлен ли referrer на первом месте. Поэтому, если вы используете следующий код, вы будете перенаправлены на последнюю страницу, если реферер установлен или настроен на homeUrl, если URL-адрес возврата не был установлен ранее.

return $this->goBack((!empty(Yii::$app->request->referrer) ? Yii::$app->request->referrer : null));

goBack() подробнее

сведения о перенаправлении