我正在尝试为我的数据库中的记录创建更新表单。这是形式:
<form id="form_update_ad" method="post" action="inc/API.php" enctype="multipart/form-data">
<input type="text" name="input_publisher" id="input_publisher_edt" placeholder="Name" />
<input type="text" name="input_link" id="input_link_edt" placeholder="Link" />
<input type="file" name="file2Upload_edt" id="file2Upload_edt" />
<input type="submit" value="" id="btnUpdate" />
<input type="hidden" name="command" value="update_ad" />
<input type="hidden" value="" id="curr_image_filename" />
<input type="hidden" value="" id="curr_add_id" />
</form>
所有输入字段的值('file'除外)都是用jQuery设置的,它们都设置正确,我仔细检查过。
然后我点击提交按钮后会执行这个jQuery函数:
$("#form_update_ad").on("submit", function(event){
event.preventDefault();
// some validations...
if(errors.length==0)
{
$(this).off("submit");
this.submit();
}
else
{
// if there are errors - do something here
}
});
我想在API.php文件中做的是:检查是否正在上传新的图像文件,如果没有 - 将new_image_filename设置为当前文件名(从curr_image_filename
隐藏输入字段请求它) ,如果是 - 从服务器删除当前设置的文件,上传新图像,将new_image_filename设置为其名称并更新数据库。所以我写了这段代码:
$newImageFileName = "";
if($_FILES["file2Upload_edt"]["name"]=='')
{
$newImageFileName = $_REQUEST["curr_image_filename"];
}
else
{
if(delete_file_from_server($_REQUEST["curr_image_filename"]))
{
$newImageFileName = saveImage2Server("file2Upload_edt");
update_ad($_REQUEST["curr_ad_id"],$_REQUEST["input_publisher"], $newImageFileName, $_REQUEST["input_link"]);
}
}
但是我一直收到这条错误消息:第21行的mypath \ API.php中的未定义索引:curr_image_filename,这是:$newImageFileName = $_REQUEST["curr_image_filename"];
为什么会发生这种情况?我该如何解决?
答案 0 :(得分:2)
id != name
:
<input type="hidden" value="" id="curr_image_filename" />
^^----must be "name" to be submitted as a form field
没有名字,没有提交。并且ID不算作名称。