我的作业要求我创建两个模拟音乐服务,每个服务都有一个可供购买的小型歌曲库。如果我能弄清楚如何制作一部作品,其余部分应该很简单。我设法让复选框在我的文件中工作ONCE,但我非常轻微地修改了一件事,现在整个事情都拒绝工作。我需要知道的是如何使用文本文件(我放入一个数组)生成几个复选框,保存选定的选项,并将其放入一个新的文本文件中,以便由另一个.php文件读取。这是我到目前为止所做的。
<html>
<?php
//Get contents from zmzonSongs.txt file, put into array.
$songList = explode("\n", file_get_contents('zmzonSongs.txt'));
//Print songs to be selected.
foreach($songList as $songs){
echo "<br/><input type='checkbox' name=\'$songList[]\' value='$songs />$songs<br>";
}
?>
</html>
我需要立即帮助。任务即将到期,我正在努力完成这项工作。我需要这样做,以便在选择用户想要的任何歌曲后,可以将数组的内容写入某个文件。
答案 0 :(得分:0)
我想也许你的名字=“$ songList []”不需要$。
从HTML表单发送复选框到PHP数组时,根据我的经验,这不是必需的。
foreach($songList as $songs){
echo "<br/><input type='checkbox' name='songList[]' value='$songs' />$songs<br>";
}
答案 1 :(得分:0)
<?php
$songs = explode("\n", trim("
Song #1
Song #2
Song #3
Song #4
Song #5
Song #6
Song #7
"));
print_r($songs);
while ($song = array_shift($songs)) {
$song = trim(htmlentities($song));
echo "
<input type='checkbox' name='songList[]' value='$song'/> $song
";
}
产地:
Array
(
[0] => Song #1
[1] => Song #2
[2] => Song #3
[3] => Song #4
[4] => Song #5
[5] => Song #6
[6] => Song #7
)
<input type='checkbox' name='songList[]' value='Song #1'/> Song #1
<input type='checkbox' name='songList[]' value='Song #2'/> Song #2
<input type='checkbox' name='songList[]' value='Song #3'/> Song #3
<input type='checkbox' name='songList[]' value='Song #4'/> Song #4
<input type='checkbox' name='songList[]' value='Song #5'/> Song #5
<input type='checkbox' name='songList[]' value='Song #6'/> Song #6
<input type='checkbox' name='songList[]' value='Song #7'/> Song #7
文件保存位:
http://us3.php.net/function.file-put-contents
if (is_array($_POST['songList'])
&& !empty($_POST['songList'])) {
$songList = implode("\n", $_POST['songList']);
$songList = filter_var($songList, FILTER_SANITIZE_STRING);
file_put_contents($songList, '/your/path/to/directory/songList.txt');
}
如果您要删除所有歌曲,我会留给您解决。不过,我建议您在name
按钮上添加submit
属性...
您的教师可能希望您执行fopen()
/ fwrite()
/ fclose()
过程,因此我会查看PHP手册,了解如何执行此操作。