Pergunta

Eu tenho um formulário que tem uma queda lista de títulos de músicas para baixo. Eu quero ser capaz de clicar em um dos títulos das músicas e as letras ser carregado na mesma página. As letras estão contidos dentro de arquivos .txt em uma pasta chamada "Letras".

Exemplo:

lista suspensa contém: song1 song2 Song3 etc.

Quando o usuário clica sobre a música, o conteúdo do arquivo .txt correspondente são exibidos na mesma página. Alguma idéia?

Foi útil?

Solução

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

Boa sorte!

Outras dicas

Seria mais fácil usando 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>

Se você tem uma lista de músicas, e você usar uma convenção de nomenclatura simples, em seguida, usar isso como uma lista branca para verificar o valor GET é permitido antes mesmo de pensar em usar

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

Se você é inteligente você também pode, em seguida, reutilizar o mesmo array $ músicas para criar sua lista em baixo.

Yellow Submarine

E então se você manter isso em um banco de dados, bem, você pode decidir que a 'bala' 'yellow-submarine' faria um ideal de chave privada, mas não se me com isso ...

Esta é uma solução rápida, mas altamente inseguro, use-o apenas como exemplo, como poderia ser feito, mas não deve:

<?

// seu código aqui // este é corpo onde você quer colocar letras de músicas

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

// mais ..

?>

em meniu:

<a href="songs.php?songName=song1">song1</a>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top