2013-06-13 2 views
0

내 사과들,하지만 중괄호를 추가하고 제거하는 것에서부터 정규 닫는 대괄호로 모든 것을 시도해 보았습니다. 나는 정말로 엉망입니다. 항상 감사드립니다!PHP의 삼항 표현식 오류

** 구문 분석 오류 : 구문 오류, 예기치 않은 '에코'(T_ECHO) top.php에서 라인은 9 * *

<?php include 'header.php' ?> 
    <font color=#EEEED1> 
    <form method="POST"> 
     <p> 
      <b>Your Blog Title:</b> 
      <input type=text name=btitle value="<?php echo $_POST['btitle'] ?>" ><?php echo $errormsgs[0]; ?><br> 
      <center> 
       <textarea name=bentry cols="80" rows="20"> 
        <?php ($_POST['bentry'] ? echo {$_POST['bentry']} : echo ("What's on your mind?");) ?> 
       </textarea><br><br> 
      </center> 
      <?php echo $errormsgs[1]; ?> 
      <input type=radio name=color value="Red" checked><font color="Red"> Red</font><br> 
      <input type=radio name=color value="Yellow"><font color="Yellow"> Yellow</font><br> 
      <input type=radio name=color value="Blue"><font color="Blue"> Blue</font><br> 
      <center> 
       <input type=submit value="Create Blog!"> 
      </center> 
     </p> 
    </form> 
    </font> 
<?php include 'footer.php' ?> 
+1

방법 '? – karthikr

+0

y (및)? 대괄호를 제거하고 시도하십시오 –

답변

0

내가 제안 :

echo isset($_POST['bentry']) ? $_POST['bentry'] : "What's on your mind?"; 
+0

굉장하고 많이 감사합니다! 이상한 이유로 텍스트 상자에 많은 임의의 후행/시작 공백 뒤에 기본 문자열이 표시됩니다. –

+0

사이의 HTML에있는 텍스트가 텍스트 상자에 표시되기 때문입니다.

2

이 표현식을 올바르게 수행하려면 행을 다음과 같이 변경해야합니다.

<?php echo (isset($_POST['bentry'])) ? $_POST['bentry'] : "What's on your mind?"; ?> 
0
echo $_POST['bentry'] ? $_POST['bentry'] : "What's on your mind?" 

5.3 이후 당신은

echo $_POST['bentry'] ?: "What's on your mind?"; 

참고로 단축 할 수 이러한 진술의 어느 실제로 변수 isset() 여부가 변수가 true 동일 아니라 경우에 있는지 확인합니다. 당신이 변수가 실제로 다음 설정 위치를 먼저 확인해야합니다 확인하기 위해 필요한 경우

는 에코 :?

echo isset($_POST['bentry']) ? $_POST['bentry'] : "What's on your mind?"