CodeIgniter -最后一个else if语句未能满足条件


CodeIgniter - last else if statement fail to meet the condition

我认为这只是一个简单的错误,我犯了,但直到现在我仍然不能得到解决方案,为什么我的最后一个else if{}语句不执行时,它符合条件。

这是我的表格。我有3个表单元素作为用户输入值的选项。他们可以选择上传文本、照片或电影。这是我的PHP:

if ( $this->input->post('text') !== '') {
   //this executes fine when it meets the condition
} else if ( $this->input->post('photo') !== '' ) {
   // this also works fine
} else if ( $this->input->post('video') !== '' ) {
   /* however, I can't get to this condition when 
   the user chooses to upload the movie.
   It always go the second condition.
   */
}
编辑:

这是我的观点:

<form action="<?php echo base_url()?>action/post" method="post" enctype="multipart/form-data">
     <ul class="nav nav-tabs">
         <li class="active">
              <a href="#status" data-toggle="tab">Update Status</a>
         </li>
         <li>
              <a href="#photos" data-toggle="tab">Post Photos</a>
         </li>
         <li>
              <a href="#videos" data-toggle="tab">Post Videos</a>
         </li>
     </ul>
     <div class="tab-content">
         <div class="tab-pane active" id="status">
              <textarea name="text"></textarea>
          </div>
          <div class="tab-pane" id="photos">
              <input type="file" name="photo" class="input" />
              <input type="text" name="photos-detail" placeholder="description" />
          </div>
          <div class="tab-pane" id="videos">
              <input type="file" name="video" class="input" />
              <input type="text" name="videos-detail" placeholder="description" />
          </div>
      </div>
      <button type="submit" class="btn btn-primary" name="post">Post</button>
 </form>

您不能像那样可靠地检查文件输入。我通常会检查文件大小,看看是否有东西上传了,所以你可以这样做(应该可以):

if ( $this->input->post('text') !== '') {    
   //code   
} else if((isset($_FILES["photo"]["size"])) && ($_FILES["photo"]["size"] > 0)){   
   // code 2    
} else if((isset($_FILES["video"]["size"])) && ($_FILES["video"]["size"] > 0)){    
    // code 3    
}

注意你不能只检查文件大小,否则你会得到未定义的索引错误-因此isset()

如果我使用相同的代码,我得到的结果是我的视图显示了整个代码行。

if ( $usuario->party !== '') {
   <a href="<?php echo base_url('vincular/party') ?>"><img src="<?php echo base_url('assets/img/link/sprite1_13.png') ?>"></a>
} else {
   <a href="<?php echo base_url('vincular/party') ?>"><img src="<?php echo base_url('assets/img/link/party.png') ?>"></a>
}

如果我不使用我的代码工作良好:

<?php foreach ($usuarios->result() as $usuario) { ?>
    <div id="cuerpo" class="cuerpoMyPerfil">
        <div id="columna1">                    
            <div id="contenColumn1" class="corner">
                <div class="myFoto">
                    <img  src="<?php echo base_url('assets/img/testimonials/user.jpg') ?>" width="100%" height="auto" alt="nombre" />                </div>
                <div class="myNombre">
                    <?php
                    echo $usuario->nombre . "<br/>";
                    echo $usuario->apellidos;
                    ?>
                </div>
                <div class="myDescripcion">
                    <?php echo $usuario->acerca; ?>
                </div>
if ( $usuario->party !== '') {
   <a href="<?php echo base_url('vincular/party') ?>"><img src="<?php echo base_url('assets/img/link/sprite1_13.png') ?>"></a>
} else {
   <a href="<?php echo base_url('vincular/party') ?>"><img src="<?php echo base_url('assets/img/link/party.png') ?>"></a>
}
                <dl class="dl-vertical">
                    <!-- Verificar que tenga valores en la tabla vincular
                    Si lo trae, poner el ícono prendido, de lo contrario el apagado-->
                    <dt>
                    <a href="<?php echo base_url('vincular/dating') ?>"><img class="pull-right" src="<?php echo base_url('assets/img/link/love.png') ?>"></a></dt>
                    <dt><a href="<?php echo base_url('vincular/network') ?>"><img src="<?php echo base_url('assets/img/link/network.png') ?>"></a>
                    <a href="<?php echo base_url('vincular/friends') ?>"><img class="pull-right" src="<?php echo base_url('assets/img/link/friends.png') ?>"></a></dt>
                </dl>
            </div>
            <div class='myTextInvi'>
                <div class='textInvitacionActual floatL'>Tienes Invitaciones disponibles</div>
                <div class='numInvitacionActual floatL' ><?php echo $usuario->disponibles; ?></div>
            </div>
            <div class='myBtnInvi'>
                <a href="<?php echo base_url('oneperfil/invite') ?>">
                    <div class='textBtnInvitacion'>ENVIAR INVITACIÓN</div>
                </a>
            </div>
        </div>
    </div>
<?php } ?>