2012-09-13 3 views
2

조건이있는 경우 PHP를 사용하여 텍스트 콘텐츠를 표시하려고하지만 몇 가지 오류가 있으며 어디에서 오류인지 알 수 없으므로 여기에 코드가 있습니다. :HTML 코드의 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 ;?> 
+1

'종료 세미콜론를 그리워'의 몇입니다 – moonwave99

+0

구문에 문제가있는 것을 볼 수 없습니다. 오류 메시지를 게시 할 수 있습니까? –

+0

안녕하세요, 미안하지만 내가 어디 놓친 지 알지 못합니다. – Apocaliptica61

답변

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 case가 부딪 힐 때를 감지하고 추가 로직과 좋은 것을 추가하는 작은 로직을 추가하십시오.

+0

안녕하세요. 예상되는 동작을 조금 설명해야합니다. 이 코드는 보낸 사람에게 보낸 사람이 1 명인 경우 1을 확인해야합니다. 그렇다면 기능을 확인합니다. validateSize validateDiscp가 거짓이면 만약 그렇다면 그는 메시지 o1 또는 2를 보여 주어야합니다. 메시지가 보내지고 함수가 true를 반환하면 메시지 3을 표시합니다. 보내지지 않으면 아무 것도 보여주지 않습니다. – Apocaliptica61

+0

그것은 작동하지 않았다 LOL – Apocaliptica61

1

모든 endif에는 ;이 있어야합니다. 또한,이 실제 오류 또는 래핑 된 코드가 있는지 잘 모르겠지만 첫 번째 if 모두 한 줄에 있는지 확인하십시오. PP : - )`미소 '가 다른 한편으로는 여기에 노력하고 일을 변경 한 후

+0

어떤 사람에게는 다른 생각이있다 ???? 나는 isset ($ _ POST [ 'send2'])가 사실이라는 것을 깨닫는다. – Apocaliptica61

+0

OK, 그런 다음 양식의 HTML을 볼 필요가있다. – Abraham

+0

안녕하세요. 작동 중입니다. 코드 : – Apocaliptica61

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'])):?>