私はプロジェクトにYiiフレームワークを使用しています。
データベースへの挿入が成功した後、別のコントローラーにページをリダイレクトしています
$ this-> redirect($ this-> createUrl( 'controller/action'));
リダイレクト中に、レンダリングの場合と同様に任意のパラメーターを渡すことができます。
$ this-> render( 'selectRefiner'、array( 'param' => $ data)
これを試して:
Yii::$app->response->redirect(['site/dashboard','id' => 1, 'var1' => 'test']);
GETパラメーターはYii 2 redirect()
)でのみ渡すことができますが、同様の状況があり、セッションストレージを使用して解決しました。
当然、Yii::$app->session
を介して現在のセッションにアクセスできます。次に、2つの個別のコントローラーアクションで使用する例を示します。
public function actionOne() {
// Check if the Session is Open, and Open it if it isn't Open already
if (!Yii::$app->session->getIsActive()) {
Yii::$app->session->open();
}
Yii::$app->session['someParameter'] = 'Bool/String/Array...';
Yii::$app->session->close();
$this->redirect(['site/two']);
}
public function actionTwo() {
if (isset(Yii::$app->session['someParameter']) {
$param = Yii::$app->session['someParameter'];
} else {
$param = null;
}
$this->render('two', [
'param' => $param
]);
}
これで、two
ビュー内の$param
にアクセスできるようになります。
詳細については、公式のクラスドキュメントを参照してください。
すでにこれを持っているすべてのパラメーターで同じアクションにリダイレクトすることは私にとってはうまくいきます。
$this->redirect($_PHP['SELF']);