首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用代码触发器记住我的cookie

使用代码触发器记住我的cookie
EN

Stack Overflow用户
提问于 2012-03-02 11:38:59
回答 2查看 1.8K关注 0票数 1

我正在尝试弄清楚如何使用代码触发器在我的脚本中添加一个记住我的功能。这是我试图用复选框做的事情。我得到了一个if语句的语法错误。我没有正确使用它吗?

代码语言:javascript
复制
<?php echo form_label(form_checkbox( 'remember', 1, if (isset($this->input->cookie('xtrcook'))) { TRUE } ) . ' Auto-login in future.', 'remember' ); ?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-02 12:31:04

您有一个语法错误,因为您试图将其作为参数进行传递:

代码语言:javascript
复制
if (isset($this->input->cookie('xtrcook'))) { TRUE }

这不是PHP中表达式的工作方式。如果设置了xtrcook cookie,则希望将其设置为TRUE,因此只需传递以下内容:

代码语言:javascript
复制
isset($this->input->cookie('xtrcook'))

实际上,$this->input->cookie()要么返回Cookie值,要么返回FALSE,而且两者都是"set“的,所以这里不适合使用isset(),您可以使用! empty()!== FALSE

代码语言:javascript
复制
$this->input->cookie('xtrcook') !== FALSE // evals to TRUE if the cookie exists

整件事:

代码语言:javascript
复制
<?php echo form_label(form_checkbox('remember', 1, $this->input->cookie('xtrcook') !== FALSE).' Auto-login in future.', 'remember'); ?>

这仍然有点复杂,传递form_label()函数并编写以下代码可能会更容易:

代码语言:javascript
复制
<label>
    <?php echo form_checkbox('remember', 1, $this->input->cookie('xtrcook') !== FALSE); ?>
    Auto-login in future
</label>
票数 0
EN

Stack Overflow用户

发布于 2012-03-02 12:03:58

我不这么认为,这看起来像是一个视图,而PHP是一种服务器端语言,这意味着一旦它呈现页面,它就完成了-它不会响应任何点击复选框的操作……您可以使用AJAX调用来维护您的结构,但我建议您在提交表单的页面上检查您的记忆变量,然后在需要时设置cookie。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9527636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档