HTML 表单按钮将数组元素作为字符串携带



我希望能够携带$_POST['v'](字符串)进行删除.php使用HTML表单按钮。

$directory = "exports/";
$contents = scandir($directory,1);
foreach($contents as $k => $v) {
if ($v != '.' && $v != '..') { 
  echo "<a href="$directory" . $v . "">".$v."</a>";
  echo "<form action="delete.php" method="post"><a class="buttonnohover"><input type="submit" class="button" name="v" value="Delete" /></form>  <br>";
  }
}

目前提交按钮只是带回字符串(6)"删除"。我希望 $_POST['v'] 等于每个按钮上携带的每个单独的$v(目录中的文件名)。

我做错了什么?

当您想要获取要删除的$v的值时.php您可以使用表单使用隐藏输入:

echo '<a href="'.$directory.$v.'">'.$v.'</a>';
echo '<form action="delete.php method="post">
    <input type="hidden" name="v" value="'.$v.'" />
    <a class="buttonnohover"><input type="submit" class="button" name="submit" value="Delete" />
    </form><br>';

目前,您正在返回"删除",因为它是按钮的值 - 就像您在HTML中定义的那样。

此外,我建议将$v重命名为 $filename - 目前它只是一个神秘的变量,因为上下文很小,您当然知道它包含什么,但只能通过查看其他代码行。当你把它命名为$filename,你将直接知道该变量的内容是什么。

最新更新