Если данные сеанса существуют, выводите в поле зрения


Поэтому я пытаюсь вывести значение переменной сеанса в представление (только если оно существует). Но я никак не могу заставить его работать. Никакая ошибка. Ничего. Чего мне не хватает? Думал, я уже все это упаковал - думаю, нет...

В контроллере...К вашему сведению, $ data присваивается представлению (т. е. $this -> load -> view('view', $data);

$data['campaign_name'] = $this -> session -> userdata('campaign_name');

Вот мой фрагмент php в представлении, которое я пытаюсь вывести. Короче говоря, если сеанс существует, выведите его. Если нет, ничего не предпринимайте.

<input type="text" name="campaign_name" class="wizardInput nameField" value="<? if (isset($campaign_name)) ;?> ">

Кто-нибудь?

EDIT Хорошо, я должен был упомянуть, что я пытаюсь вывести значение сеанса в значение формы. Модифицированный код представления выше. Форма подчиняется, как если бы значение было там - и даже посылает значение вместе. Однако он не отображается в текстовом вводе...

1 3

1 ответ:

Вы можете легко сделать это в вашем представлении:

if($this->session->userdata('campaign_name')){
 // do somenthing cause it exist
}

Затем, если вы хотите сделать данные сеанса в качестве значения входного сигнала, сделайте следующее:

<input type="text" name="campaign_name" class="wizardInput nameField" value="<?php echo $this->session->userdata('campaign_name') ?>">

Вам не нужно контролировать, существует ли session userdata, потому что если он не существует, он ничего не печатает, метод cause userdata() возвращает false!

Тогда вам не нужно передавать данные сеанса через $data[] array, потому что данные сеанса могут быть получены из любого места (модель/контроллеры/представления/крючки/библиотеки/помощники и так далее)