Запомнить меня cookie с кодом воспламенитель - PullRequest
1 голос
/ 02 марта 2012

Я пытаюсь выяснить, как добавить функциональность запомнить меня в мой скрипт с помощью средства воспламенения кода.Вот то, что я пытаюсь сделать с флажком. Я получаю синтаксическую ошибку для утверждения if. Не правильно ли я его использую?

<?php echo form_label(form_checkbox( 'remember', 1, if (isset($this->input->cookie('xtrcook'))) { TRUE } ) . ' Auto-login in future.', 'remember' ); ?>

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

У вас есть синтаксическая ошибка, потому что вы пытаетесь передать это как аргумент:

if (isset($this->input->cookie('xtrcook'))) { TRUE }

Это не так, как работают выражения в PHP.Вы хотите, чтобы это было TRUE, если установлен файл cookie xtrcook, поэтому просто передайте следующее:

isset($this->input->cookie('xtrcook'))

На самом деле, $this->input->cookie() возвращает либо значение файла cookie, либо FALSE, и обавсегда «установлен», поэтому 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>
0 голосов
/ 02 марта 2012

Я так не думаю, это похоже на представление, а PHP - это язык на стороне сервера, то есть, когда он рендерит страницу, он готов - он не будет отвечать на любые нажатия на флажки ... Вы мог бы сделать AJAX-вызов для поддержания вашей структуры, но я предлагаю проверить вашу переменную запоминания на странице, на которую вы отправляете форму, а затем, при необходимости, установить cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...