フォームを別のルートに送信するビューがあり、フォーム内のすべてのデータが正しいかどうかを確認しますが、そうでない場合は、このルート(/ check)を使用してビューにリダイレクトする必要があります。私はこのコードをキャッチすることができますし、どこに問題があるのかを知ることができます(間違ったデータ、フォームが埋め込まれていない...)。 も200
を返すという問題があります。Slim v3のリダイレクトの状況コードの取得
ルートは次のように示しています。それはあなたが現在のルートでそれを変更しない場合は、デフォルトの200になるよう
$app->get('/form', function($request, $response, $arguments) {
$error = array("error" => false);
echo $response->getStatusCode(); //Always print 200
if($response->getStatusCode() == XXX)
$error["error"] = true;
return $this->view->render($response, "form.php", $error);
});
$app->post('/check', function($request, $response, $arguments) {
return $response->withHeader('Location', '/form')->withStatus(403);
});
あなたは、 ''/check''ではなく ''/access''にリダイレクトすることに気付きましたか? – jmattheis
フォームとアクセスの両方が同じビューを読み込みます。しかし、はい、私はそれについて気づいていませんでした。 – legomolina