【发布时间】:2020-11-16 18:01:12
【问题描述】:
我尝试在控制器中执行此重定向:
$this->getSession()->setFlashdata("error_controller", "Incorrect email or password");
return redirect()->route("login");
这是在视图中:
<?php
if($error_controller){
echo "<div>" . $error_controller . "</div>";
}else{
echo "no-no";
}
?>
在浏览器中打印no-no,这意味着来自flashdata 的error_controller 不会到达查看。
如何用数据重定向到login路由?
【问题讨论】:
-
尝试
$_SESSION['error_controller']而不是$error_controller。 Flashdata 附加到会话中,而不是传递到视图中,就像您的控制器调用view一样,使用它的第二个可选参数来传递要映射到变量的数据(即$error_controller)。但是,如果这不是问题,我确实有另一个想法。 -
试试这个
session()->get('error_controller');
标签: php codeigniter codeigniter-4