PHP按钮没有正确显示

问题描述:

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

$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

第一个问题是在这一行:

$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属性为空的动作意味着在默认提交相同的URL。

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