Frage

Ich habe eine Form, die eine Dropdown-Liste der Songtitel hat. Ich möchte auf einen der Songtitel klicken zu können und die Texte auf der gleichen Seite geladen werden. Die Texte sind in TXT-Dateien in einem Ordner namens „Lyrics“ enthalten ist.

Beispiel:

Drop-Down-Liste enthält: Song1 Song2 Song3 etc.

Wenn der Benutzer auf dem Song anklickt, wird der Inhalt der entsprechenden TXT-Datei auf derselben Seite angezeigt. Irgendwelche Ideen?

War es hilfreich?

Lösung

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

Good Luck!

Andere Tipps

Es wäre einfacher, mit 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>

Wenn Sie eine Liste von Songs, und Sie verwenden eine einfache Namenskonvention dann verwenden, die als eine Positivliste den GET-Wert zu überprüfen erlaubt ist, bevor Sie selbst denken mit

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

Wenn Sie klug sind, können Sie auch dann den gleichen $ Songs Array wiederverwenden Ihre Drop-Liste zu erstellen.

Und dann, wenn Sie diese in einer Datenbank zu halten, auch Sie können entscheiden, dass das ‚Schnecke‘ ‚gelb-U-Boot‘ würde einen idealen Privaten Key machen, aber mich nicht auf, dass loszuzulegen ...

Diese schnelle Lösung, aber sehr unsicher, verwendet sie nur als Beispiel, wie getan werden könnte, sollte aber nicht:

<?

// Ihre Seite Code hier // Das ist Körper, wo Sie Liedtexte setzen wollen

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

// sonst ..

?>

in meniu:

<a href="songs.php?songName=song1">song1</a>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top