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。