2010-01-20 1 views
0

첫 번째로 끄기, 저는 PHP가있는 초보자입니다 (일반적으로 코딩은 물론). 사용자 프로필이있는 웹 사이트가 있습니다. 이 프로파일에는 댓글을 달 수있는 영역이 있습니다.if 문과 특정 변수를 사용하여 내 세 번째 유형의 텍스트 영역을 표시하는 방법

에 따라 3 가지 유형의 코멘트 영역을 전환하려고합니다. A. 로그인하고 자신의 프로파일 을보고있는 경우 B. 누군가를보고 로그인 한 경우 elses profile C. 로그인하지 않고 프로필을보고있는 경우

나는 3 개의 텍스트 영역과 고유 한 입력 유형을 가지고 있습니다 (입력하지 않으면 세 번째 입력란에 로그인하지 않으면 댓글이 없습니다) 모든 설정. 나는 if와 if else 문장을 무수히 시도했다. 나는 어떤 점에서 세 가지 일을 모두 할 수 있었지만, 예를 들어, C.는해야 할 유형과 여분의 유형을 가질 것이다. 제가 가장 가까이에있는 코드는 A.과 B.가 올바르게 작동하고 있으며, C.가 B.의 문자를 가지고 있습니다. 나는 물건이 벗어나지 않는다는 것을 알고있다. .. 그러나 첫번째로 일하는 기초적인 기능을 얻으려고 노력한다, 그리고, 나는 안전하게하고, 닦을 것이다.

내 코드입니다. 감사합니다.

<form name="CommentBox" method="post" action="Profile.php?id=<?php echo $prof->id; ?>"> 
         <?php if($auth->id == $prof->id) { echo "<textarea name='A.'></textarea> 
                    <input type='submit' name='A.' value='Submit' class='post' />";}if($auth->id != $prof->id){ 
           echo "<textarea name='B.'></textarea> 
             <input type='submit' name='B.' value='Submit' class='post' />";}elseif(!$_SESSION['SITE']['AUTH']) { echo "<textarea name='C.' disabled>Please sign in to comment...</textarea>"; 
          }?> 

        </form> 

답변

3

두 번째 if 문 (if($auth->id != $prof->id))는이 elseif

+0

이미, 그냥 확인하고 다시 시도 것을 시도해야해야한다. 어떤 식 으로든 B. type을 반향시켜야합니다. –

+1

if..else 문은 조건이 참인 첫 번째 분기를 사용합니다. 조건 ('$ auth-> id! = $ prof-> id')는'$ auth-> id'가 설정되어 있지 않아도 true 일 것입니다 (왜냐하면 null! = 다른 값이기 때문입니다). B 타입 전에 C 타입의 elseif 블록을 넣으십시오. – Rory

+0

고맙습니다! Rory! 그게 효과가 있었어. preesh! –

0

이이

if(!$_SESSION['SITE']['AUTH']) { 
    echo 'Please sign in'; 
} 

if($auth->id == $prof->id) { 
    echo "A"; 
} else { 
    echo "B"; 
} 
+0

그래도 여전히 c와 b를 울림. –

+0

내 답변 및 내가 작성한 의견은 여기에 적용되며 두 번째 'if'를 'elseif'로 바꿔서이 해결책을 사용할 수 있습니다. 명확히하기 : 첫 번째 조건은 사용자가 인증되지 않은 경우를 파악하고 마지막 두 가지를 건너 뜁니다. 그 상태에서 첫 번째 조건은 작동하지만 'else'는 별도의'if' 문에 포함되어 있기 때문에 실행됩니다. 내 설명이 충분히 명확하길 바래 ... – Rory