2015-02-07 3 views
-2

제목이 혼란 스러울 수 있으므로 간단한 예를 들어 보겠습니다.HTML 내부에 PHP 변수 출력

다음은 PHP 코드입니다 (HTML로 래핑 됨).

echo '<br/><img src="<?php echo $filepath" alt="test" />'; 

다음은 소스 파일에있는 해당 코드의 출력입니다.

<img src="&lt;?php echo $filepath;?&gt;" alt="test"> 

자세히 알 수 있듯이 PHP 코드는 실행되지 않고 표시됩니다. 다음은 코드가 들어있는 전체 파일입니다.

<?php include('_header.php'); ?> 

<?php 
$username = $_SESSION['user_name']; 

$filesyst = array('png', 'jpeg', 'gif', 'jpg'); 
foreach($filesyst as $val) { 
$path = 'avatar/'.$username.'.'.$val; 
if(file_exists($path)) { 
$filepath = 'avatar/'.$username.".".$val; 
} else { 
//default image to be loaded 
} 
} 
?> 

<?php 

// HERE'S THE CODE ---------- 
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />"; 
echo '<br/><img src="<?php echo $filepath;?>" alt="test" />'; 


?> 

<div> 
    <a href="index.php?logout"><?php echo WORDING_LOGOUT; ?></a> 
    <a href="edit.php"><?php echo WORDING_EDIT_USER_DATA; ?></a> 
</div> 

<?php include('_footer.php'); ?> 

여기에 무슨 일이 벌어지고 있는지에 대한 아이디어가 있습니까? 어떤 도움을 많이 주시면 감사하겠습니다!

+0

당신은 이미 PHP 태그를 사용하고 있습니다. 새 태그를 열지 마십시오. 변수를 연결해야합니다. 'echo 'foo :'. $ foo. ', bar :'. $ bar'. – h2ooooooo

+0

PHP 태그 내에서 여는 태그와 닫는 태그를 사용하고 있습니다 ... – ElefantPhace

답변

2

당신은 이미 PHP 블록에 있습니다. 사용해보기 :

<?php 

// HERE'S THE CODE ---------- 
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />"; 
echo '<br/><img src="'.$filepath.'" alt="test" />'; 

?> 
+0

이 코드를 사용하면이 파일에'Undefined variable : filepath'라고 말하는 오류가 나타납니다. 이 문제를 어떻게 해결할 수 있습니까? – MyNameIsNotSoCool

+0

원본 소스에서이 줄을 바꾸어야합니다. 하지만 변수를 지정하지 않았을 수도 있습니다. 어쩌면 당신의 foreach는 반복되지 않습니다. 왜냐하면 당신의 디렉토리에 아무런 이미지도 없기 때문입니다. 당신의 소스에 또 다른 에러가 있습니다. – etalon11

+0

아아아, 나는 그것을 고칠 수있었습니다. 도와 주셔서 감사합니다! – MyNameIsNotSoCool

0

문자열에 캡슐화 된 일부 PHP 코드가 있습니다 (echo -ing). 대신 다음을 시도하십시오 :

echo '<br/><img src="' . $filepath . '" alt="test" />';