dsfsw1233 2012-04-11 19:30
浏览 28
已采纳

RSS Feed不显示PHP变量

I have an RSS feed which for some reason is not showing my PHP variables. When the feed is returned it comes back with the raw tags for example the title will be Timetable $yesterdayd instead of Timetable - Tuesday 10th April

<?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);

?>

Any ideas?

  • 写回答

2条回答 默认 最新

  • dongzanghua8422 2012-04-11 19:33
    关注

    Use double quotes for the output strings. The variables don't interpolate with single quotes I think.

    So like

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

    That should do it. The page DOES have a php extension, right?

    EDIT:

    When you're interpolating arrays or objects, use syntax like this {$row['username']} or {$object->property}, but when you're calling a function, you cannot interpolate, you MUST concatenate:

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

    Also, make sure you're not now mixing single and double quotes -- it looks like the code you pasted as a response mixes them.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?