我正在尝试在发送POST
请求时向我的每个网页添加注销。目前我的代码正在运行,但我必须为每条路线定义它。有没有办法让我的主路线文件上有一个$app->post()
来影响我网站上的每一页?
例如,在我的管理页面上,我必须添加此代码才能使我的注销正常工作:
$app->post('/admin', function ($request, $response) {
// Define POST data
$params = $request->getParams();
// Logout User
if ($params['logout']) {
// Logout
User::logout();
// Redirect to login page
return $response->withHeader("Location", "/");
}
});
我有没有办法将其添加到单个文件中,而site.com/admin
和site.com/panel
等其他每个页面都可以访问此文件?
由于
答案 0 :(得分:0)
我通过使用中间件来解决它。
// Middleware to logout
$app->add(function ($request, $response, $next) {
// Define POST data
$params = $request->getParams();
// Logout User
if ($params['logout']) {
// Logout
User::logout();
// Redirect to login page
return $response->withHeader("Location", "/");
}
// Return next middleware
return $next($request, $response);
});