Помогите с заявлением php if - PullRequest
0 голосов
/ 08 сентября 2010

Может кто-нибудь помочь мне с этим заявлением? Моя форма появляется каждый раз, когда я загружаю страницу, но она исчезает после отправки формы! Возможно, меня смущает синтаксис endif, но я не могу сделать это правильно ... вот код:

<?php
if ($this->input->post('submit') && $this->input->post('categories')):
  foreach($tagedImages as $image):
  ?>
    <div class="thumb">
      <?php  echo'<a href="/toKoritsi/uploads/'.$image.'"/> <img src="/toKoritsi/uploads/thumbs/'.$image.'"/></a>' ?>
    </div>
  <?php
  endforeach;
elseif(isset($photosQuery) && count($photosQuery)):
  foreach($photosQuery->result_array() as $photo):
  ?>
    <div class="thumb">
      <?php echo'<a href="/toKoritsi/uploads/'.$photo['name'].'"/> <img src="/toKoritsi/uploads/thumbs/'.$photo['name'].'"/></a>' ?>
    </div>
  <?php
   endforeach;
endif;

$options = array(
  'bracelet'  => 'Bracelets',
  'ring'      => 'Rings',
  'bag'       => 'Bags',
  'earing'    => 'Earings'
);

echo form_open("toKoritsi/gallery");
echo form_dropdown('categories', $options, 'bracelet');
echo form_submit('submit', 'Choose');
echo form_close();
?>

спасибо заранее!

Ответы [ 3 ]

0 голосов
/ 08 сентября 2010

Вам определенно нужно правильно отформатировать код.

Я бы также рекомендовал попытаться объединить ваш PHP в блоки и отделить его от вашего HTML.

Вы можете выполнять все условия и выводить некоторые из этих элементов HTML:

<div>
<?php /*...*/ ?>
</div>

в отличие от того, что вы делаете сейчас:

<?php /*...*/ ?>
<div>
<?php /*...*/ ?>
</div>
<?php /*...*/ ?>

Кроме того, подобные блоки не имеют смысла:

    <?php endforeach;?>
            <?php endif;?>

Даже если бы вам пришлось разбивать код на небольшие куски, было бы проще сказать:

<?php
    endforeach;
    endif;
?>

РЕДАКТИРОВАТЬ : Этот ответ был предоставлен до того, как источник вопроса был переформатирован и очищен. Я не мог даже решить исходную проблему, пока не смог лучше понять, что происходит.

Это может показаться глупым, но вы уверены, что ваш gallery контроллер работает правильно? Если вы отправляете и в одной из ваших функций CodeIgniter есть ошибка, это может привести к неправильному отображению после отправки.

0 голосов
/ 08 сентября 2010

Я не знаю, как выглядит структура URL вашего сайта, но вы уверены, что отправляете форму в нужное место?

Согласно руководству пользователя CI , оно отправляется на что-то вроде /index.php/toKoritsi/gallery, но это зависит от ваших настроек.

0 голосов
/ 08 сентября 2010

Должно foreach($tagedImages as $image) быть foreach($taggedImages as $image)?

Форматирование вашего кода очень уродливо.Если вы хотите получить красиво отформатированный HTML-вывод, возможно, вам стоит подумать об использовании Tidy или механизма шаблонов, который предлагает эту функциональность.

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