我有了一个下拉歌曲标题的列表形式。我希望能够点击同一页面上载入的歌曲名称和歌词的一个。歌词载.txt文件内的被称为“歌词”文件夹中。

示例:

下拉列表包含: 松1 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 );
    }

如果你很聪明,你也可以重复使用该歌曲$阵列来创建下拉列表中。

<选项值=黄色潜>黄色潜水艇

,然后如果你保持这个数据库中,那么你可能会决定将“塞”“黄色潜水艇”将成为一个理想的私钥,但不要让我开始对...

这是快速的解决方案,但极不安全的,使用它仅作为例子,怎么可以这样做,但不应该:

<?

//你的页面在这里代码 //这是你想要把歌词身体

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

//别的..

?>

在meniu:

<a href="songs.php?songName=song1">song1</a>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top