2009-12-01 5 views
0

J'ai un formulaire qui a une liste déroulante de titres de chansons. Je veux être capable de cliquer sur l'un des titres de la chanson et les paroles seront chargées sur la même page. Les paroles sont contenues dans des fichiers .txt dans un dossier appelé "Paroles".PHP - Liste déroulante pour afficher le contenu .txt

Exemple:

liste déroulante contient: Song1 Song2 Song3 etc.

Lorsque l'utilisateur clique sur la chanson, le contenu du fichier txt correspondant sont affichés sur la même page . Des idées?

+0

Est-ce que ce sont les devoirs? –

+0

Non, projet personnel. – user

Répondre

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

Bonne chance!

-1

Cette solution est rapide, mais très peu sûr, utiliser seulement comme exemple, comment pourrait se faire, mais ne devrait pas:

<? 

// votre code page ici // c'est le corps où vous voulez mettre les paroles des chansons

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

// else ..

?> 

dans meniu:

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

Si cela ne devrait pas être fait de cette façon, ne le suggérez pas –

+0

Il suffit d'exemple comment pourrait-on faire. – lfx

1

Il serait plus facile en utilisant 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

Bon commentaire. Bien qu'il le demande en PHP. –

0

Si vous avez une liste de chansons, et que vous utilisez une simple convention de nommage utiliser alors que comme une liste blanche pour vérifier la valeur GET est autorisée avant pensez même d'utiliser

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); 
    } 

Si vous êtes intelligent, vous pouvez également réutiliser le même tableau de chansons de $ pour créer votre liste déroulante.

< valeur option = jaune-sous-marin> Sous-marin jaune </option>

Et si vous gardez cela dans une base de données, ainsi vous pouvez décider que le « limaces » « jaune-sous-marine » ferait un idéal Clé privée, mais ne me lancez pas là-dessus ...