Silex Framework, для POST не найден маршрут

-3

У меня небольшая проблема с каркасом 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, все работает отлично...

Кто-нибудь знает, в чем проблема?.. Спасибо всем.

Теги:
forms
routing
silex

1 ответ

2
Лучший ответ

Послушайте, вы только определяете маршрут для get:

$app->get('/checkPW', function () use ($app) {
  return $app['templating']->render(
    'checkPW_blog.php'
  );
});

Просто определите для post:

$app->post('/checkPW', function () use ($app) {
  // do post stuff...
});
  • 0
    Это работает, спасибо ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню