2011-12-15 27 views
0

last.fm APIのXMLデータを表示するforループがあります。私は、クエリから個々の結果にボタンを追加したいと思っていますが、単にテキストとして表示され、ボタンとして認識されません。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に提出するデフォルトで手段としてaction属性を削除します。

2番目の問題は、すべて同じIDの送信ボタンを多数作成していることです。 HTMLでは、ID属性が一意である必要があります。複数の要素で同じIDを使用することはできません。

関連する問題