2011-12-15 2 views
0

У меня есть цикл for, отображающий данные XML из API last.fm. Я хочу добавить кнопку к каждому отдельному результату из запроса, однако он просто отображается как часть текста и не распознается как кнопка.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

ответ

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']); 

Или еще лучше, просто удалите атрибут действия как пустое действие означает, что по умолчанию представить тот же URL.

Вторая проблема заключается в том, что вы создаете множество кнопок отправки с одинаковым идентификатором. HTML требует, чтобы атрибуты идентификатора были уникальными - вы не можете использовать один и тот же идентификатор для нескольких элементов.

Смежные вопросы