У меня есть представление, которое отправляет форму другому маршруту, и это проверяет правильность всех данных в форме, но если нет, этот маршрут (/ check) должен быть перенаправлен на представление с помощью форму (/ form) с кодом XXX, чтобы я мог поймать этот код, и я знаю, где проблема (неправильные данные, форма не заполнена ...). Проблема в том, что $response->getStatusCode();
также возвращает 200
.Код перехода с перенаправления в Slim v3
Маршруты показать, как это:
$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);
});
Вы заметили, что вы переадресовываете ''/access'' в ''/check'', а не ''/form'' – jmattheis
Оба типа и доступа загружают один и тот же вид. Но да, я об этом не заметил. – legomolina