2015-02-07 107 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標記 - 不要打開一個新的。你需要連接變量。 '回聲'foo:'。 $ foo。 ',酒吧:'。 $ bar'。 – h2ooooooo 2015-02-07 15:33:35

+0

您正在使用php標籤中的開始和結束標籤... – ElefantPhace 2015-02-07 15:33:51

回答

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 2015-02-07 15:36:10

+0

您必須在原始來源中替換這些行。但也許你沒有分配你的變量。也許你的foreach是從來沒有循環過的,因爲你的目錄中沒有圖像,你的源代碼中有另一個錯誤 – etalon11 2015-02-07 15:52:32

+0

啊我看到了,我已經設法修復它。謝謝您的幫助! – MyNameIsNotSoCool 2015-02-07 15:58:48

0

你有一些PHP代碼封裝在字符串中,你是echo -ing。試試這個:

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