Если данные сеанса существуют, выводите в поле зрения
Поэтому я пытаюсь вывести значение переменной сеанса в представление (только если оно существует). Но я никак не могу заставить его работать. Никакая ошибка. Ничего. Чего мне не хватает? Думал, я уже все это упаковал - думаю, нет...
В контроллере...К вашему сведению, $ 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 ответ:
Вы можете легко сделать это в вашем представлении:
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
, потому что данные сеанса могут быть получены из любого места (модель/контроллеры/представления/крючки/библиотеки/помощники и так далее)