【发布时间】:2011-02-28 17:20:07
【问题描述】:
我有一个 php 文件,它列出了目录中的所有文件,每个文件旁边都有复选框:
<html
<body>
<P>List of files:</p>
<form action="submitfiles.php" method="post">
<?php
if ($handle = opendir('./files')) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$thelist .= '<a href="'.'./files/'.$file.'">'.$file.'</a>';
$thelist .= '<br>';
$s = '<input type="checkbox" name="'.$file.'" value="yes"/><a href="'.'./files/'.$file.'">'.$file.'</a>';
echo $s;
echo '<br';
}
}
closedir($handle);
}
?>
</body>
<input type="submit" name="formSubmit" value="Submit"/>
</form>
</html>
然后,我有一个 submitfiles.php,它遍历所有文件,并获取每个复选框的 $_POST 值。
<?php
if ($handle = opendir('./files')) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
echo 'Value is ' . $_POST['$file'] . '<br>';
echo $file . '<br>';
}
}
closedir($handle);
}
?>
即使我选中了一个复选框,我的 php 文件中的“Value is”行总是打印一个空白。意思是,没有一个复选框被赋予一个值。我如何让这个工作?如果我选中了一个复选框,我希望它打印“Value is yes”,但它没有。
【问题讨论】:
-
您是否尝试过进行
var_dump的 POST 以查看您实际接收到的内容作为submitfiles.php的输入?您确定$file作为名称属性有效吗? -
你的
body和form被纠缠了。这里是<body><form>...</body></form>。