PHP按钮无法正常显示

时间:2011-12-15 05:04:19

标签: php xml api button

我有一个for循环,显示来自last.fm API的XML数据。我想要从查询中为每个单独的结果添加一个按钮,但它只是作为一段文本出现而不被识别为按钮。

$xmlmusic = new SimpleXMLElement($result); 

$releases = $xmlmusic->xpath('artist/similar/artist'); 
foreach ($releases as $artist) { 
$artistResult .= '<div class="searchitem">';
$artistName = $artist->name . PHP_EOL;
$artistResult .= $artist->name . PHP_EOL;
$artistResult .= '<form name="favourite" action="'.$_SERVER['PHP_SELF'];'" ."   method="POST">';
$artistResult .= '<input type="submit" id="graphic" value="favourite">add</form>'; 
$artistResult .= '</div>';

<?php echo $artistResult ?>

这显示为带有“添加”的小方框,但它不会被视为按钮。

链接到页面:Artist Search

感谢任何帮助,

JB

1 个答案:

答案 0 :(得分:2)

第一个问题就在这一行:

$artistResult .= '<form name="favourite" action="'.$_SERVER['PHP_SELF'];'" ."   method="POST">';

您正在混合和匹配报价。尝试:

$artistResult .= '<form name="favourite" action="' . $_SERVER['PHP_SELF'] . '"' . ' method="POST">';

或更好:

$artistResult .= sprintf('<form name="favourite" action="%s" method="POST">', $_SERVER['PHP_SELF']);

或者甚至更好,只需删除action属性,因为默认情况下空操作意味着提交到同一个网址。

您的第二个问题是您创建了许多具有相同ID的提交按钮。 HTML要求ID属性是唯一的 - 您不能在多个元素上使用相同的ID。