繁体   English   中英

"CodeIgniter4 - 使用数据重定向"

[英]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 ,这意味着来自flashdataerror_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM