我尝试学习Silex。在我今天的步骤中,我想将用户通过注册表单保存到我的数据库中。
在我的第一步中,我创建了一个html表单" register.html":
<form action="/register-user" method="POST">
<input type="text" name="username" class="form-control" value="" />
<input type="submit" name="register" class="btn btn-success" value="Send" />
</form>
此表单已在我的操作中呈现&#34;注册&#34;:
$app->get('/register', function() use ($app) {
return $app['twig']->render('register.html', array());
})->bind('register');
现在我发布我的表单并使用其他操作来处理此帖子请求,&#34;注册用户&#34;:
$app->post('/register-user', function(Request $request) use ($app) {
var_dump($request->get('username'));
return $app['twig']->render('register.html', array());
})->bind('register-user');
我不确定这是不是正确的方法。有人可以给我一个提示,或者这是使用两种不同行为的正确方法吗?
我解决了我的问题: 我必须使用&#34;匹配&#34;而不是获取和发布。
$app->match('/register', function(Request $request) use ($app) {
});
答案 0 :(得分:0)
不要在这里使用match()。您可以使用相同的资源&#39; / register&#39;来使用POST和GET操作。提交表单时,资源将收到POST请求,否则将是GET,您可以呈现登录表单。
$app->get('/register', function() use ($app) {
return $app['twig']->render('register.html', array());
})->bind('register_get');
$app->post('/register', function(Request $request) use ($app) {
// process form information
})->bind('register_post');