2

我正在尝试仅使用 PHP if 条件显示文本内容,但我有几个错误,我看不出错误在哪里有人可以帮助我解决这个问题,这里是代码:

<?php
  if(
     isset($_POST['send']) &&
     !validateDiscp($_POST['Discp']) || !validateSize($_POST['Size'])
  ) : ?>

<div id="error">
  <ul>
    <?php if(!validateDiscp($_POST['Discp'])):?>
     <li><strong>Discription:</strong>Discription need to be larger then 10!</li>
    <?php endif?>
    <?php if(!validateSize($_POST['Size'])):?>
     <li><strong>Invalid Size:</strong> Size needs to bi S M L XL</li>
    <?php endif ?>
      </ul>
</div>

<?php elseif(isset($_POST['send'])):?>
<div id="error" class="valid">
  <ul>
    <li><strong>Congratulations!</strong> All fields are OK ;)</li>
  </ul>
</div>
<?php endif ;?>
4

3 回答 3

1

我会重写整个外部块。而是这样做:

 <? if( isset($_POST['send'])&&  !validateDiscp($_POST['Discp']) || !validateSize($_POST['Size']) ) { ?>
        <div id="error">
            <ul>
               <?php if(!validateDiscp($_POST['Discp'])) { ?>
                    <li><strong>Discription:</strong> Discription need to be larger then 10!</li>
                <?php } ?>
                <?php if(!validateSize($_POST['Size'])) { ?>
                    <li><strong>Invalid Size:</strong> Size needs to bi S M L XL</li>
                <?php } else { 
        $nothing = true;
                 ?>



            </ul>
        </div>

    <?php if( isset( $nothing ) and isset($_POST['send'] ) ) { ?>
        <div id="error" class="valid">
            <ul>
                <li><strong>Congratulations!</strong> All fields are OK ;)</li>
            </ul>
        </div>

     <? } ?>

我认为你的逻辑缺陷在于你有一个悬空的 else 语句。相反,添加一些逻辑来检测 else 案例何时被击中,并添加你的额外逻辑和你的好去。

于 2012-09-13T22:23:53.683 回答
1

所有的endifs 都需要;在他们之后。另外,我不确定这是实际错误还是只是代码被包装,但请确保您的第一个if都在一行上。

于 2012-09-13T22:24:30.510 回答
0

改变它在这里工作的东西之后是代码

        <?php if(isset($_POST['send']) && !validateDiscp($_POST['Discp'])|| !validateSize($_POST['Size'])  ):?>

    <div id="error">
                <ul>
                    <?php if(!validateDiscp($_POST['Discp'])):?>
                        <li><strong>Discription:</strong> Discription need to be larger then 10!</li>
                    <?php endif;?>
                    <?php if(!validateSize($_POST['Size'])):?>
                        <li><strong>Invalid Size:</strong> Size needs to bi S M L XL</li>
                    <?php endif; ?>



                </ul>
            </div>
    <?php elseif(isset($_POST['send']) ):?>
于 2012-09-14T14:24:59.007 回答