2009-12-01 26 views
0

我有一個表單有一個歌曲標題的下拉列表。我希望能夠在同一頁面上點擊歌曲標題和歌詞中的一個。歌詞包含在名爲「Lyrics」的文件夾中的.txt文件中。PHP - 下拉列表以顯示.txt內容

例子:

下拉列表中包含: 鬆1 Song2 Song3 等

當歌用戶點擊,相應的.txt文件的內容顯示在同一頁面上。有任何想法嗎?

+0

這是功課嗎? – 2009-12-01 09:49:27

+0

不,個人項目。 – user 2009-12-01 09:49:47

回答

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

祝您好運!

-1

這是快速的解決方案,但極不安全的,使用它僅作爲例子,怎麼可以這樣做,但不應該:

<? 

//此處是您的網頁代碼 //這是身體在那裏你想要把歌詞

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

//別的..

?> 
在meniu

<a href="songs.php?songName=song1">song1</a> 
+1

如果不這樣做,不建議它 – 2009-12-01 09:56:35

+0

這只是一個例子,如何做到這一點。 – lfx 2009-12-01 09:59:00

1

這將是使用更簡單的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> 
+0

好評。儘管他在PHP中請求它。 – 2009-12-01 09:56:19

0

如果您有歌曲列表,並使用一個簡單的命名約定,然後使用它作爲一個白名單來檢查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); 
    } 

的如果你很聰明,你也可以重複使用該歌曲$陣列來創建下拉列表中。

<期權價值=黃色潛水艇>黃色潛水艇< /選項>

,然後如果你保持這個數據庫中,那麼你可能會決定將「塞」「黃色潛水艇」將成爲一個理想私人鑰匙,但不要讓我開始...