CodeIgniter4-使用数据重定向



我尝试在控制器中执行此重定向:

$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() ?>

相关内容

  • 没有找到相关文章

最新更新