Ich habe eine Ansicht, die ein Formular an eine andere Route sendet und überprüft, ob alle Daten im Formular korrekt sind, aber wenn nicht, muss diese Route (/ überprüfen) auf die Ansicht mit umleiten das Formular (/ Formular) mit dem Code XXX, damit ich diesen Code abfangen kann und ich weiß, wo das Problem liegt (falsche Daten, Formular nicht ausgefüllt ...). Das Problem ist, dass $response->getStatusCode();
auch 200
zurückgibt.Abfangen von Statuscode von Umleitung in Slim v3
Routen zeigen, wie folgt aus:
$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);
});
Haben Sie festgestellt, dass Sie auf ''/access'' in ''/check'' und nicht auf ''/form'' umleiten – jmattheis
Sowohl Formular als auch Zugriff laden dieselbe Ansicht. Aber ja, das ist mir nicht aufgefallen. – legomolina