質問

曲のタイトルのドロップダウンリストがあるフォームがあります。曲のタイトルの1つをクリックすると、歌詞が同じページに読み込まれます。歌詞は、<!> quot; Lyrics <!> quot;というフォルダーの.txtファイルに含まれています。

例:

ドロップダウンリストには以下が含まれます。 Song1 Song2 Song3 など。

ユーザーが曲をクリックすると、対応する.txtファイルの内容が同じページに表示されます。アイデアはありますか?

役に立ちましたか?

解決

<?php
    $song = intval( $_GET[ 'song_id' ] );
    $songs = array( 0 => NULL, 1 => 'Song1', 2 => 'Song2', 3 => 'Song3' );
    echo file_get_contents( $songs[ $song ] . '.txt' );
?>

幸運!

他のヒント

JQueryを使用すると簡単になります:

<a href="somefile.txt" class="link">Song 1</a>
<pre id="lyrics">
</pre>

<script>
$(function(){
   $('.link').click(function(){
     $.get(this.href,null,function(lyrics){
         $('#lyrics').html(lyrics);
         return false;
     });
   });
});
</script>

曲のリストがあり、単純な命名規則を使用している場合、それをホワイトリストとして使用して、GET値が許可されていることを確認する前に、使用することを考える前に

file_get_contents

    $song = $_GET['song'] ;
    $file = '/Lyrics/' . $song . '.txt' ; 
    $songs = array( 'help', 'she-loves-you', 'yellow-submarine' );

   // as a double check see if the file exists too

   if( in_array( $song, $songs ) && file_exists( $file ) ) {
       echo file_get_contents( $file );
    }

賢い場合は、同じ$ songs配列を再利用してドロップリストを作成することもできます。

<!> lt;オプション値= yellow-submarine <!> gt;イエローサブマリン<!> lt; / option <!> gt;

そして、これをデータベースに保存しておけば、「スラッグ」「黄色い潜水艦」が理想的な秘密鍵になると判断するかもしれませんが、私にそれを始めさせないでください...

これは簡単な解決策ですが、安全性が非常に低いため、例としてのみ使用できますが、実行方法はありませんが、使用しないでください:

<?

//ここにページコード //これは曲の歌詞を入れたい場所です

file_get_contents($_GET['songName'].".txt")

// else ..

?>

meniuで:

<a href="songs.php?songName=song1">song1</a>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top