【问题标题】:How to use cookies in saving temporary data in codeigniter?如何使用cookies在codeigniter中保存临时数据?
【发布时间】:2015-04-10 22:30:56
【问题描述】:

我在如何以及在哪里将代码放入 codeigniter 时遇到问题。我是 Php/CI 的新手,我在使用 mvc 表单时遇到了困难。我想将我的数据(疫苗接种记录品牌)放入 cookie 中,以便我可以临时存储它。我试图设置我的 cookie,但结果为空白,但数据已插入我的数据库中。我认为我的控制器代码有问题。

我的控制器的代码:

function vaccs($id) {
$data['title'] = $this->main_title.' | Vaccination';
$data['jslibraries'] = $this->inc_files->data_tables_scripts();
$data['uid']         = $id;
$data['employee']    = $this->vaccination_model->get_employee($id);
$data['vaccine']    = $this->vaccination_model->get_vaccinationrecord($id,0);
$data['vaccine1']   = $this->vaccination_model->get_vaccinationrecord($id,1); 
$this->load->view('vaccs',$data);

}

我的观点代码:

<?php
if (isset($_COOKIE['vaccine'])) {
setcookie('vaccine',$vaccine);
foreach ($_COOKIE[$vaccine] as $vaccine){ ?>

<div class="control-group">
<label class="control-label">
<?php echo '&nbsp'.'<a href="javascript:void(0);"  rel="tooltip"    
title="Delete" onclick="delete_vaccination('.$vaccine->vaccination_record_id.');"><i class="icon-minus-sign"></i></a>'.'';?><?php echo $vaccine->vaccination_record_brand;?>

</label>
</div>

感谢您的帮助。

【问题讨论】:

  • 当您有 CI 使用时,使用 PHP 原生 cookie 不是一个好主意。请改用 CI 会话或 CI cookie...(我更喜欢会话)ellislab.com/codeigniter/user-guide/libraries/sessions.htmlellislab.com/codeigniter/user-guide/helpers/cookie_helper.html
  • 您正在尝试将一个对象添加到您的 PHP cookie 中,但这不会像那样工作。此外,首先您检查是否有一个名为 vaccine 的 cookie,然后您再次设置它(设置为您的对象值?)然后您在 foreach 子句中重新定义您的 $vaccine 变量/对象?
  • @jtheman 我如何检查是否有一个名为疫苗的 cookie?很抱歉,我刚刚阅读了一些文章并编辑了其中一些代码,所以我真的很难弄清楚。
  • 这就是你在第一行所做的。那你把事情搞砸了。你想做什么?而$vaccine(从控制器模型调用$this-&gt;vaccination_model-&gt;get_vaccinationrecord($id,0);带来的)原来是什么内容?
  • 是的,$vaccine 来自模型 $this->vaccination_model->get_vaccinationrecord($id,0);)..我想将我的数据存储在 cookie 中,但它在我的数据库中。

标签: php codeigniter cookies


【解决方案1】:

您应该首先加载cookie helper。您可以将其加载到config文件夹内的自动加载文件中 只需像这样在助手中添加cookie

$autoload['helper'] = array('cookie');

那么你可以像这样设置cookie

<?php
      $name = 'xyz';
      $this->input->set_cookie('cookie_name', $name, 3600*2);
?>

那么就可以通过这个获取这个cookie值了

<?php echo $this->input->cookie('cookie_name');?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多