我正在尝试弄清楚如何使用代码触发器在我的脚本中添加一个记住我的功能。这是我试图用复选框做的事情。我得到了一个if语句的语法错误。我没有正确使用它吗?
<?php echo form_label(form_checkbox( 'remember', 1, if (isset($this->input->cookie('xtrcook'))) { TRUE } ) . ' Auto-login in future.', 'remember' ); ?>发布于 2012-03-02 12:31:04
您有一个语法错误,因为您试图将其作为参数进行传递:
if (isset($this->input->cookie('xtrcook'))) { TRUE }这不是PHP中表达式的工作方式。如果设置了xtrcook cookie,则希望将其设置为TRUE,因此只需传递以下内容:
isset($this->input->cookie('xtrcook'))实际上,$this->input->cookie()要么返回Cookie值,要么返回FALSE,而且两者都是"set“的,所以这里不适合使用isset(),您可以使用! empty()或!== FALSE:
$this->input->cookie('xtrcook') !== FALSE // evals to TRUE if the cookie exists整件事:
<?php echo form_label(form_checkbox('remember', 1, $this->input->cookie('xtrcook') !== FALSE).' Auto-login in future.', 'remember'); ?>这仍然有点复杂,传递form_label()函数并编写以下代码可能会更容易:
<label>
<?php echo form_checkbox('remember', 1, $this->input->cookie('xtrcook') !== FALSE); ?>
Auto-login in future
</label>发布于 2012-03-02 12:03:58
我不这么认为,这看起来像是一个视图,而PHP是一种服务器端语言,这意味着一旦它呈现页面,它就完成了-它不会响应任何点击复选框的操作……您可以使用AJAX调用来维护您的结构,但我建议您在提交表单的页面上检查您的记忆变量,然后在需要时设置cookie。
https://stackoverflow.com/questions/9527636
复制相似问题