2014-02-18 5 views
0

Что я хочу сделать, это написать кучу песен, которые пользователь выбирает из списка флажков в текстовый файл. Песни перечислены в текстовом файле, который затем открывается и имеет значения, хранящиеся в массиве, и этот массив используется для создания списка флажков. Это то, что у меня есть до сих пор.PHP - Запись выбранных флажков в текстовый файл

<html> 
<h1>Welcome to Zmzon. Select songs below to add to your library.</h1> 
<?php 
var_dump($_POST); 
/*Write song selections to myLibrary.txt file.*/ 
if(isset($_POST['songList'])){ 
    $addSongs = $_POST['songList']; 

    $handle = fopen('myLibrary.txt', 'a'); 
    foreach($addSongs as $song){ 
     fwrite($handle, $song."\n"); 
    } 
    fclose($handle); 
} 
?> 

<form action="zmzon.php" method="POST"> 

<?php 
/*Add contents of zmzonSongs.txt to array.*/ 
$songList = explode("\n", file_get_contents('zmzonSongs.txt')); 

foreach($songList as $songs){ 
    echo "<br/><input type='checkbox' name='songList[]' value='$songs' />$songs<br>"; 
} 
?> 
<input type="submit"> 
</form> 
<a href="ztunes.php">To zTunes</a> 
</html> 

Я огляделся повсюду, и я все еще борюсь с этим.

+0

В чем проблема? –

+0

Я не могу понять, как написать то, что пользователь проверил из списка песен в текстовый файл. Перечисленные песни должны быть записаны в этот файл (мы будем называть его myLibrary.txt), а не только, был ли флажок установлен или нет. – user3308219

+0

Вы пробовали использовать 'fwrite' ?? см. [здесь] (http://www.php.net/fwrite) –

ответ

0

Выполните следующие действия в файле zmzon.php

<?php 
if(isset($_POST['songList'])){ 
    $listOfSongs = $_POST['songList']; 

    $fp = fopen('myLibrary.txt', 'w'); 
    foreach ($listOfSongs as $song) { 
     fwrite($fp, $song.'\n'); 
    } 
    fclose($fp); 
} 

?> 

Вышеописанный процесс используется для получения списка песен и сохранить его в файле «myLibrary.txt». Вы можете добавить эту часть в свой существующий файл zmzon.php

+0

Позвольте мне посмотреть, работает ли это. – user3308219

+0

Я пробовал код, и страница снова появляется (он даже не отображает флажки с тем, что у меня было первоначально), но я взглянул на текстовый файл (myLibrary.txt), и он был пуст. – user3308219

+0

@ user3308219 Вы проверили флажок? Добавьте строку 'var_dump ($ _ POST ['songList']);', чтобы увидеть, что отправляется в форме. HTML-флажки специфичны - если они не отмечены, то никакое значение не отправляется. – doc

Смежные вопросы