【问题标题】:html form button carrying array element as stringhtml表单按钮携带数组元素作为字符串
【发布时间】:2014-01-08 23:02:01
【问题描述】:

我希望能够使用 HTML 表单按钮将 $_POST['v'](字符串)带到 delete.php。

$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 (目录中的文件名)。

我做错了什么?

【问题讨论】:

  • 你的问题是什么?
  • 我想你希望提交按钮有一个值,对吗?

标签: php html forms button session-variables


【解决方案1】:

当你想使用表单获取$v的值来delete.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 时,你将直接知道该变量的内容是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-12
    • 2022-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2014-01-09
    相关资源
    最近更新 更多