Slim framework 2.0 - 重定向不起作用

时间:2016-02-16 05:52:28

标签: php slim

重定向无法在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成功消息重定向到感谢页提出建议。

1 个答案:

答案 0 :(得分:0)

如果它转到catch块,则意味着$db->updatePassword($checkAuthentication['token_id'],$email,$password);抛出异常。

当发生这种情况时,try {}块中的所有其他内容都会被跳过,执行将转到catch{}块。