php - 执行临时数据时出错
问题描述
Form.php(控制器)
public function dispdata()
{
$result['data']=$this->Form_model->displayrecords();
$this->load->view('display_records',$result);
if (!$this->session->userdata('ci_session'))
{
redirect('Form/login');
}
else
{
$this->session->set_tempdata('item',$result,5);
}
}
显示记录(查看)
<?php
if($this->session->tempdata('item')){
redirect('Form/login');
}
?>
我正在尝试使用 tempdata 概念。我有一个注册表单,其中我已将所有注册的详细信息存储在数据库中,而那些存储数据库的详细信息我已将其显示在视图页面中。
我如何在视图页面中显示所有数据库详细信息,该视图页面我试图仅显示 5 秒,5 秒后它应该重定向到登录页面。我已经尝试使用上面的代码,但它不工作请谁能告诉我我哪里出错了?
解决方案
tempdata
会话功能仅影响允许存储数据的时间。在您的情况下,5 秒后删除数据不会导致页面上的任何其他内容发生变化。
据我所知,你根本不需要tempdata
。试试这个,看看你是否得到了你想要的行为。
public function dispdata()
{
if (!$this->session->userdata('ci_session'))
{
redirect('Form/login');
}
$result['data']=$this->Form_model->displayrecords();
$this->load->view('display_records',$result);
// sleep for 5 seconds
sleep(5);
redirect('Form/login');
}
为什么我else
从你的代码中删除了?因为redirect
不返回 - 它结束脚本执行。因此,当if
评估为 true 并且重定向执行时,此脚本就完成了。
推荐阅读
- image - Flutter:使用 ImagePickerWeb 将图像上传到 Firestore
- postgresql - 访问 Minikube 中的本地 PostgreSQL 实例
- php - 雄辩的子查询因已知字段而失败
- amazon-web-services - 更新 route53 记录中的自动缩放组 ip
- javascript - 不在 GraalVM JS 运行时?
- python-3.x - 分类数据的响应编码
- mongodb - 如何在 MongoDB 中按键聚合数组值对象
- python - 如何使用 pandas 基于两个分类列的组合进行一次热编码?
- flutter - 带有 Node SDK 的 Flutter Web 中的 PayPal 按钮
- arrays - 如何修改下面的程序以接受数组值?