[英]CodeIgniter4 - Redirect with data
我尝试在控制器中执行此重定向:
$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()->setFlashData("error_controller","Incorrect email or password");
return redirect()->to(base_url('/login'));
在视图文件中添加此代码
<?php
if(session()->has('error_controller'))
echo "<div>" . session()->getFlashdata('error_controller') . "</div>";
}else{
echo "no-no";
}
?>
我试过这种方式,它奏效了:
在控制器中:
$validate = $this->validate([
'firstname' => 'required',
'lastname' => 'required',
'email' => 'required|valid_email|is_unique[users.email]',
]);
然后我在视图中将错误作为数组传递(在控制器中)
$data['validation'] = $this->validator;
return view( 'view_file', $data );
然后在查看文件中:
<?= form_open(....) ?>
<input type="text" name="firstname" class="form-control" placeholder="Firstname">
<?= ( isset($validation) && $validation->hasError('firstname')) ? $validation->getError('firstname'): ''; ?>
<?= form_close() ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.