我正在尝试在我的网站上手动删除文件。我创建了一个可以删除的所有文件的列表,每个文件都有一个输入按钮。我已经与jQuery建立了一种联系。
问题在于按钮无法识别它的父母,因此它不会发送任何信息。
这是删除功能的PHP:
if(isset($_POST["destroyFile"])) {
$filename = $_POST["remove_file"];
$file = 'views/home/added_files/'.$filename.'.php';
$this->query("DELETE FROM page_context WHERE file_name='$filename'");
$rows = $this->resultSet();
unlink($file);
}
我用for循环调用每一行,这就是它的回声。
echo "<li name=''>$filename[$i]<input type='submit' name='destroyFile' value='Remove File'></li>";
并且它并不多,但这是我的jquery,它改变了父的名字,即li。似乎它与它无关。它只是改变了名称,仅此而已。
$("li").on("click", "input", function(e) {
e.preventDefault();
$(this).parent().attr("name", "remove_file");
alert("hey");
});
上面的jQuery创建了li的名称,并且应该在destroyFile isset之后调用该名称。
这甚至可行吗?因为php是服务器端的,jQuery是更多的网站侧面编码。
注意:我创建了一个输入字段,我可以输入文件名。这很有效。所以PHP代码很好,很花哨。
注2:这是我的坏习惯,但我重新使用$变量。我的php代码中的$ filename与echo中的$ filename不同。提前警告。
答案 0 :(得分:0)
您指定了提交按钮:
<input type='submit' name='destroyFile' value='Remove File'>
这意味着,您可以使用$_POST['destroyFile']
访问PHP中特定按钮的值,因为您命名为input
'destroyFile'
。它的值始终为'Remove File'
。
要提供特定文件,您可以将按钮的值设置为$filename[$i]
。
echo "<li>remove file <button type='submit' name='destroyFile' value='{$filename[$i]}'>{$filename[$i]}</button></li>";
现在,调用$filename = $_POST['destroyFile'];
会将特定文件名保存到变量中。