How to redirect and store data for the request after the redirect(如何在重定向之后重定向和存储请求的数据)
本文介绍了如何在重定向之后重定向和存储请求的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将用户重定向到登录页,但出现错误和闪烁消息。
目前我正在执行以下操作:
return $this->container->view->render($response,'admin/partials/login.twig',['errorss'=>$errors]);
但我想重定向到登录页面,同时仍然有错误消息和闪烁消息。我尝试了这种方法,但不起作用:
$this->container->flash->addMessage('fail',"Please preview the errors and login again.");
return $response->withRedirect($this->container->router->pathFor('admin.login',['errors'=>$errors]));
推荐答案
您已经使用了slim/flash
,但随后您执行了以下操作:
return $response->withRedirect($this->container->router->pathFor('admin.login',['errors'=>$errors]));
这是不正确的。Router#pathFor()
方法上的第二个参数不是用于重定向后使用的数据
路由器的pathFor()方法接受两个参数:
- 路由名称
- 路由模式占位符和替换值的关联数组
来源(http://www.slimframework.com/docs/objects/router.html)
因此您可以使用第二个参数设置类似profile/{name}
的占位符。
现在您需要将所有错误添加到slim/flash
`中。
我在修改后的Usage Guide of slim/flash
上解释了这一点// can be 'get', 'post' or any other method
$app->get('/foo', function ($req, $res, $args) {
// do something to get errors
$errors = ['first error', 'second error'];
// store messages for next request
foreach($errors as $error) {
$this->flash->addMessage('error', $error);
}
// Redirect
return $res->withStatus(302)->withHeader('Location', $this->router->pathFor('bar'));
});
$app->get('/bar', function ($request, $response, $args) {
// Get flash messages from previous request
$errors = $this->flash->getMessage('error');
// $errors is now ['first error', 'second error']
// render view
$this->view->render($response, 'admin/partials/login.twig', ['errors' => $errors]);
})->setName('bar');
这篇关于如何在重定向之后重定向和存储请求的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在重定向之后重定向和存储请求的数据
基础教程推荐
猜你喜欢
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01