“未定义的索引”仅适用于HTML表单中的“文件”字段

时间:2016-05-18 03:54:47

标签: php html mysql sql

这是有效但后来停止了 其他领域没有提交问题 当我按提交时,其他字段将添加到数据库中,但这个字段不是。
为了防止混淆,重要的是photo_url而不是photo_dir 进一步说明:photo_dir是带有罗盘方向的下拉菜单的值。我想要的只是将文件名存储在数据库photo_url列下。

这是表单字段

<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
<div id="map_canvas"></div>

这是SQL

<label for="photo_url">Upload:</label>
<input type="file" name="photo_url">

该文件也正在上传到服务器,该服务器没有问题。虽然我希望能够将它们重命名为datetime(),但这是另一天的主题。

2 个答案:

答案 0 :(得分:0)

您可以像这样使用$ _FILE访问文件元素

$_FILES['photo_dir']

在第一步print_r这是因为它有另一个孩子

答案 1 :(得分:0)

首先,您应该使用此属性enctype="multipart/form-data"来使用输入类型文件,应该如下所示:

<form action="" enctype="multipart/form-data">

表单提交后,请检查:

if(isset($_FILES['photo_url'])){
 $file_name = $_FILES['photo_url']['name'];
}

然后重写查询:

$sql="INSERT INTO photo(photo_project_id,photo_section,photo_subsection,photo_date,photo_post,photo_desc,photo_url,photo_dir)VALUES('$_POST[photo_project_id]','$_POST[photo_section]','$_POST[photo_subsection]','$_POST[photo_date]',now(),'$_POST[photo_desc]','$_POST[photo_url]','$file_name')";