Silex Framework,没有找到POST的路由

时间:2015-02-14 09:53:18

标签: php forms twitter-bootstrap routing silex

我对silex框架有一点问题(我非常肯定,它是由Silex引起的)..

我有一个表单并希望通过POST提交,但Silex会抛出以下异常:

UrlMatcher.php第101行中的MethodNotAllowedException:

RouterListener.php第149行中的MethodNotAllowedHttpException: 找不到" 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发送表单时,一切正常......

有谁知道这里的问题是什么? 谢谢大家。

1 个答案:

答案 0 :(得分: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...
});