2012-04-11 73 views
0

我有一個RSS源,由於某種原因沒有顯示我的PHP變量。當返回料它回來與原標籤例如標題將時間表$ yesterdayd,而不是時間表 - 週二4月10日RSS源不顯示PHP變量

<?PHP 
include("../config.php"); 
#// Timetable Clearup Variabls 
$yesterday = strtotime('yesterday'); 
$yesterdow = date('l',$yesterday); 
$order = "SELECT * FROM timetable WHERE day = '$yesterdow' ORDER BY time"; 
$result = mysql_query($order); 
$yesterdayd = date('F jS, Y', time()-86400); 

    //SET XML HEADER 
    header('Content-type: text/xml'); 

    //CONSTRUCT RSS FEED HEADERS 
    $output = '<rss version="2.0">'; 
    $output .= '<channel>'; 
    $output .= '<title>Timetable - $yesterdayd </title>'; 
    $output .= '<description>Timetable.</description>'; 
    $output .= '<link>http://site.com/</link>'; 
### $output .= '<copyright>Your copyright details</copyright>'; 

    //BODY OF RSS FEED 
    $output .= '<item>'; 
     $output .= '<title>Timetable for $yesterdayd</title>'; 
     $output .= '<description>" . htmlspecialchars($row['username']) . "</td><td>" . htmlspecialchars($row['time']) . "</description>'; 
     $output .= '<link>Link to Item</link>'; 
     $output .= '<pubDate>Date Published</pubDate>'; 
    $output .= '</item> '; 

    //CLOSE RSS FEED 
    $output .= '</channel>'; 
    $output .= '</rss>'; 

    //SEND COMPLETE RSS FEED TO BROWSER 
    echo($output); 

?> 

任何想法?

+0

'$輸出= ' 「'...'。」';。' - 在這裏你有一個引號不匹配(''''''')... – glglgl 2012-04-11 19:51:44

回答

2

對輸出字符串使用雙引號。我認爲變量不會插入單引號。

所以像

$output .= "<title>Timetable for $yesterdayd</title>"; 

應該這樣做。該頁面有一個PHP擴展,對嗎?

編輯:

當你插數組或對象,請使用如下語法{$行[「用戶名」]}或{$對象 - >屬性},但是當你調用一個函數,你不能插值,必須連接:

"<description>" . htmlspecialchars($row['username']) . "</td>"; 

此外,還要確保你現在不混合單引號和雙引號 - 它看起來像一個響應將它們混合粘貼你的代碼。

+0

這個人說我要去的所有東西 – squarephoenix 2012-04-13 16:36:01

0

單引號字符串將不會計算php變量。

'<title>Timetable - $yesterdayd </title>'; 

應該

"<title>Timetable - {$yesterdayd} </title>"; 
+0

工作的很好!謝謝你,但是有一部分仍然不顯示結果: '$ output。='「。 htmlspecialchars($ row ['username'])。 「​​」。 htmlspecialchars($ row ['time'])。 「';' – Logan 2012-04-11 19:38:45

+0

'$ output。='」'應該是'$ output。=「」。 htmlspecialchars($ row ['username'])。 「​​」。 htmlspecialchars($ row ['time'])。 「」'否則PHP將包含所有內容直到下一個單引號。 – ncremins 2012-04-11 19:43:46

+0

我收到此錯誤: 此頁面包含以下錯誤: 錯誤在第1行第202列:打開和結束標記不匹配:描述行0和td 下面是一個頁面呈現到第一個錯誤。 時間表 - 2012年4月10日時間表。關閉標記之前關閉。2012年4月10日的網站/時間表 – Logan 2012-04-11 19:51:57