Я хочу иметь возможность переносить $_POST['v']
(string) на delete.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>";
}
}
В настоящий момент кнопка submit просто возвращает строку (6) "Удалить". Я хочу, чтобы $ _POST ['v'] равнялся каждому отдельному $ v (имя файла внутри каталога), который был нанесен на каждую кнопку.
Что я не делаю правильно?
Если вы хотите получить значение $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
, вы сразу узнаете, что будет содержимым этой переменной.