2012-09-19 54 views
0

我正在使用WAMP運行本地PHP/Apache服務器。我正在嘗試多種方法來使用HTML標記回顯行,但網站中斷。這裏是我的代碼:PHP Echo和HTML混合多種方法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 

<?php 
    $name = 'John'; 
    $months = array('January', 'February', 'March'); 

    echo "<p>$name;</p>"; 
?> 

    <p><?php echo "Hello World!";?></p> 
    <p><?php echo "My name is " . $name . ", nice to meet you.";?></p> 
<?php 
    echo "<p>Hi again, my name is " . $name . ".</p>"; 
?> 

<?php 
    foreach ($months as $current_month) { 
     echo "<li>$current_month</li>"; 
    } 
?> 
</body> 
</html> 

瀏覽器輸出

$name; 
"; ?> 
Hi again, my name is " . $name . ". 
"; ?> 

我也試着把文檔類型上面的PHP代碼,但該網站再次打破。

謝謝。

+0

檢查你的Apache配置。你可能會遇到php mime/type的問題,所以你的apache並沒有意識到你正在處理一個php文件,所以它認爲它是一個標準的html文件。 –

+0

文件的名稱是什麼?如果它不以.php結尾,那麼它將不會作爲PHP文件處理。 – kingcoyote

+0

是的文件具有.php擴展名。它工作之前我現在添加foreach循環,即使我把它拿出來,它仍然不起作用。 – TheShadowbyte

回答

0

你不能像你在做的那樣編寫代碼。例如這樣的:

<p>echo $name;</p>; 

是完全錯誤的,應該這樣寫:

echo "<p>$name</p>"; 
+0

對不起,我是PHP新手。我將它固定到正確的語法,但我仍然有同樣的問題。 – TheShadowbyte

+1

換句話說,你不能直接將html代碼混合到php中,並期望它能夠正常工作,因爲php引擎會嘗試執行html代碼,因此最終會出現語法錯誤 – tftd

+0

@TheShadowbyte好的,更新你的文章修復代碼並看到新輸出 –