2012-07-05 29 views
0

我只是學習PHP,練習我想嘗試和使一個PHP函數,可以輕鬆地在文檔中生成CSS3漸變。麻煩與小php功能http錯誤500

我遇到了HTTP錯誤500下面的代碼:

<?php 
function cgrad($c1,$c2,$applyto) 
{ 
echo 
"<style type="text/css"> 
$applyto { 
background-image: -ms-linear-gradient(top, $c1 0%, $c2 100%); 
background-image: -moz-linear-gradient(top, $c1 0%, $c2 100%); 
background-image: -o-linear-gradient(top, $c1 0%, $c2 100%); 
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, $c1), color-stop(1, $c2)); 
background-image: -webkit-linear-gradient(top, $c1 0%, $c2 100%); 
background-image: linear-gradient(to bottom, $c1 0%, $c2 100%); 
height : 100%; 
width : 100%;} 
</style>"; 
}; 
?> 
<html> 
<head> 
<?php 
cgrad(#FFFFFF,#000000,body); 
?> 
</head> 
<body> 
testing 
</body> 
</html> 

任何幫助深表感謝。

+1

當PHP中存在語法錯誤時,可能會發生HTTP 500。爲了將來的參考,請始終檢查您的代碼是否結束分號,適當的引號以及此類事物。 – honyovk 2012-07-05 16:37:07

+0

非常感謝兩位回覆的人,對不起,這是一個很簡單的問題,對於PHP來說,我沒有注意到它。 非常感謝 – jmaris 2012-07-05 16:46:10

回答

5
echo 
"<style type="text/css"> 

你不能把雙引號雙引號。你可以逃避它們(如其他答案所述)或使用單引號。

echo 
"<style type='text/css'> 

此外,您需要引用cgrad的報價。

<?php 
cgrad('#FFFFFF','#000000','body'); 
?> 
+0

'cgrad'函數的參數需要引用,因爲#''創建一個註釋。 – honyovk 2012-07-05 16:39:26

+0

@MBJ:你說得對。更新。 :-) – 2012-07-05 16:40:00

+0

乾杯,這是偉大的:) – jmaris 2013-01-30 18:10:09

2
echo 
"<style type="text/css"> 

您使用引號來界定您的echo語句,並在裏面--PHP不能找出哪些引號是哪個。一種方式是逃避echo語句裏面的引號:

echo 
"<style type=\"text/css\">