重定向无法在Slim framework 2.0中使用
try{
$db->updatePassword($checkAuthentication['token_id'],$email,$password);
$res = $db->updatePassword($email,$password);
if($res['success'] == USER_PASSWORD_UPDATE_SUCCESSFULLY) {
$app->flash('message','Form submitted!');
$app->redirect($app->urlFor('thanks'));
}else{
$app->flash('errors', 'Error while updating password');
$app->redirect($app->urlFor('resetpassword',
array(
'encrypt_url' => $resetPasswordToken
)
));
}
} catch (Exception $ex) {
$app->flash('errors', $ex->getMessage());
$app->redirect($app->urlFor('resetpassword',
array(
'encrypt_url' => $resetPasswordToken
)
));
}
此处$app->redirect($app->urlFor('thanks'));
不起作用,并转到catch
部分。
我们正在使用组进行路由。
$app->group('/web', function () use ($app) {
// Version group
$app->group('/user', function () use ($app) {
$app->post('/updatepassword', function () use ($app) {
// our code
});
$app->get('/thanks', function () use ($app) {
$app->render('thanks.php', array(
'pageTitle' => 'Thanks page'
));
})->name('thanks');
});
});
通过 flash成功消息向重定向到感谢页提出建议。
答案 0 :(得分:0)
如果它转到catch
块,则意味着$db->updatePassword($checkAuthentication['token_id'],$email,$password);
抛出异常。
当发生这种情况时,try {}
块中的所有其他内容都会被跳过,执行将转到catch{}
块。