You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter框架下如何不存数据库直接传递数据到xyz_view

嘿,我来给你几个不用数据库就能把pin code传递到xyz_view的实用方案,都是CodeIgniter项目里常用的思路:

方法1:利用CodeIgniter Session 持久传递

这是最稳妥的跨页面传值方式,适合需要在多个步骤中保留数据的场景:

  • 先确保Session库已经加载:你可以在application/config/autoload.php里添加'session'到$autoload['libraries']数组,或者在abc_con里手动加载:
    $this->load->library('session');
    
  • 在abc_con的cartload()方法中,把拿到的pin code存入Session:
    // 假设你已经从abc_view的表单获取到pin code
    $pin_code = $this->input->post('pin_code');
    // 存入session
    $this->session->set_userdata('pin_code', $pin_code);
    
  • 到xyz_con的loadxyz()方法时,取出Session里的值并传给视图:
    $pin_code = $this->session->userdata('pin_code');
    // 传递给xyz_view
    $this->load->view('xyz_view', ['pin_code' => $pin_code]);
    
    // 如果你用完后不想保留这个值,可以手动清除
    $this->session->unset_userdata('pin_code');
    
  • 最后在xyz_view里直接使用即可:
    echo "Pin Code: " . $pin_code;
    
方法2:用Flash Data 一次性传递

如果这个pin code只需要在cart_view跳转到xyz_view这一次传递,用Flash Data更合适——它会在页面刷新后自动失效:

  • 同样先确保Session库已加载,在abc_con的cartload()里存入Flash Data:
    $this->session->set_flashdata('pin_code', $pin_code);
    
  • 在xyz_con的loadxyz()里取出并传递给视图:
    $pin_code = $this->session->flashdata('pin_code');
    $this->load->view('xyz_view', ['pin_code' => $pin_code]);
    
    // 特殊情况:如果需要刷新页面后还保留这个值,可以调用
    // $this->session->keep_flashdata('pin_code');
    
方法3:通过表单隐藏字段传递

如果你的流程是从cart_view提交表单到xyz_con,那直接把pin code放在隐藏字段里带过去最直接:

  • 首先在abc_con的cartload()方法中,把pin code传给cart_view:
    $this->load->view('cart_view', ['pin_code' => $pin_code]);
    
  • 在cart_view的表单里添加一个隐藏输入框:
    <form action="<?php echo site_url('xyz_con/loadxyz'); ?>" method="post">
      <!-- 你的其他表单内容 -->
      <input type="hidden" name="pin_code" value="<?php echo $pin_code; ?>">
      <button type="submit">提交到下一步</button>
    </form>
    
  • 最后在xyz_con的loadxyz()里直接获取这个值:
    $pin_code = $this->input->post('pin_code');
    $this->load->view('xyz_view', ['pin_code' => $pin_code]);
    

这三种方法都不用碰数据库,你可以根据自己的业务场景选最合适的——比如需要跨多个步骤存数据用Session,一次性传递用Flash Data,表单跳转就用隐藏字段。

内容的提问来源于stack exchange,提问作者Rajura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:59:08