使用表单上传数据PHP没有文件实际上传

时间:2016-04-21 08:30:28

标签: php

好的基本上我设置了两个函数来显示表单,如果提交表单,则上传数据。

function showResourceForm()
 {
 echo("
 <form   enctype='multipart/form-data' name='form1' method='post'      action='tutorAddResource.php' 
>
<table>
<tr><td> Name Of resource</td><td> <input type ='text' name='name' /></td></tr>
<tr><td>Available From</td><td> <input type = 'date' name = 'from' /> </td> </tr>
<tr><td>Available Until</td><td> <input type = 'date' name = ' until' /> </td> </tr>
<tr><td>Choose Resource</td><td> <input type = 'file' name 'file' id= 'file'> </td></tr>
</table>
                        <input type='submit' onclick='submit'  value='Upload Resource' />
</form>
");

}

这是显示表单设置enctype以允许数据上传的功能

function doResource()
{

$name = $_POST['name'];
$from = $_POST['from'];
$until = $_POST['until'];
$file = $_FILES["file"]["name"];
$ow = $_SESSION['userID'];

$conn = mysqli_connect ("localhost","root","root","aceTraining");   
$sql = "INSERT INTO resource (name, dateFrom, dateUntil, ownerID,filename   ) VALUES ('$name', '$from', '$until', '$ow','$file')";
mysqli_query ($conn,$sql) or die (mysqli_error($conn));
doSQL($sql);

 if ($_FILES["file"]["error"] > 0)
     {
     echo "Error: " . $_FILES["file"]["error"] . "<br />";
     }
   else
     {
       move_uploaded_file($_FILES["file"]["tmp_name"],
      "\uploads" . $_FILES["file"]["name"]);
  echo "Uploaded To: " . "uploads/" . $_FILES["file"]["name"];
 }


}

这是将文件详细信息保存到表中的功能,并且应该将文件保存在上传中,但是错误代码不会在开发人员模式下为我提供未定义的索引文件,但是我不愿意提及它作为包含此错误代码的重复问题似乎不适用于我的问题,或者我不具备PHP知识,无法以这种原始形式正确地从中提取信息。

注意:第46行的\ xammp \ htdocs \ aceTraining \ tutorAddResource.php中的未定义索引:文件是我的错误代码,对于行54 60 61和62也是如此 第46行如下所示

     $file = $_FILES["file"]["name"];

1 个答案:

答案 0 :(得分:3)

从你的代码

看来你的代码中有错字

 <input type = 'file' name 'file' id= 'file'>

将您的代码更改为

     <input type = 'file' name='file' id= 'file'>