Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于php if语句的帮助_Php_Forms_Codeigniter_If Statement - Fatal编程技术网

关于php if语句的帮助

关于php if语句的帮助,php,forms,codeigniter,if-statement,Php,Forms,Codeigniter,If Statement,有人能帮我做这个if语句吗? 每次我加载页面时,我的表单都会出现,但在我提交表单后它就会消失! 也许是“endif”语法让我困惑,但我无法正确地完成这项工作。。。 代码如下: <?php if ($this->input->post('submit') && $this->input->post('categories')): foreach($tagedImages as $image): ?> <div class="

有人能帮我做这个if语句吗? 每次我加载页面时,我的表单都会出现,但在我提交表单后它就会消失! 也许是“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();
?>

提前谢谢

是否应该
foreach($tageImage为$image)
foreach($tagedImages为$image)


你的代码格式很难看。如果你想得到格式很好的HTML输出,也许你应该考虑使用TyDy或者提供该功能的模板引擎。

< P>你必须正确地格式化你的代码。 我还建议尝试将PHP整合到块中,并将其与HTML分开

您可以在某些HTML元素中执行所有条件和回显:

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

与您现在所做的相反:

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

此外,像这些块这样的东西毫无意义:

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

即使你不得不把代码分成小块,说:

<?php
    endforeach;
    endif;
?>

编辑:此答案是在重新格式化和清理问题源之前提供的。我甚至无法解决最初的问题,直到我能更好地看到发生了什么


这听起来可能有点愚蠢,但您确定您的
多媒体资料
控制器工作正常吗?如果您正在提交,但其中一个CodeIgniter函数出现错误,则可能会在提交后扰乱呈现。

我不知道您网站的url结构是什么样的,但您确定要将表单提交到正确的位置吗


根据,它会被提交到类似于
/index.php/toKoritsi/gallery的文件中,但这取决于您的配置首选项。

为什么要对foreach和if语句使用替代语法?请用大括号。我试图格式化它,但放弃了。那是不可能的。同意——啊!!我的眼睛!你真的需要处理你的缩进;这使得你的代码很难阅读——就像PHP和HTML之间的不断切换一样。endif和endforeach语法的使用使情况变得更糟,但如果代码至少有合理的缩进,我可以接受这一点。也许这会好一点……;)好的,伙计们,我会做的…但请建议一种正确的格式,而不是诅咒提示…但问题是表单没有显示,所有foreach循环都工作正常是的,表单提交到了正确的位置,因为它做了它应该做的事…但在我提交后它不会显示!你有错误信息吗?也许脚本在表单显示之前的某个地方停止了。我会检查服务器日志并打开所有错误消息。虽然你是对的,但它实际上根本没有回答这个问题。这是公平的,但我认为当我回答这个问题时,代码是如此混乱,甚至试图破译源代码都是一个问题。现在至少我们可以看到CodeIgniter典故和括号在哪里。。。