У меня небольшая проблема с каркасом silex (я уверен, что это вызвано Silex).
У меня есть форма и вы хотите отправить ее с помощью POST, но Silex выбрасывает следующие исключения:
MethodNotAllowedException в строке UrlMatcher.php 101:
MethodNotAllowedHttpException в строке RouterListener.php 149: маршрут не найден для "POST/checkPW": метод не разрешен (разрешить: GET)
Вот как выглядит мой контроллер:
$app->get('/checkPW', function () use ($app) {
return $app['templating']->render(
'checkPW_blog.php'
);
});
И эта форма выглядит так:
<form method="post" action="/checkPW">
<div class="modal-body">
<div class="form-group">
<input type="password" class="form-control" id="password"
name="password"
placeholder="Passwort">
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success" id="submitPW">
Passwort bestätigen
</button>
</div>
</form>
(реализовано с помощью Bootstrap)
Причудливая вещь заключается в том, что когда я отправляю форму методом GET вместо POST, все работает отлично...
Кто-нибудь знает, в чем проблема?.. Спасибо всем.
Послушайте, вы только определяете маршрут для get
:
$app->get('/checkPW', function () use ($app) {
return $app['templating']->render(
'checkPW_blog.php'
);
});
Просто определите для post
:
$app->post('/checkPW', function () use ($app) {
// do post stuff...
});