2011-02-28 109 views
1

我正在做一些上传文件的简单工作。我现在忽略错误检查和例外,只是为了让我的上传工作。我有这样的HTML表单:为什么我的PHP上传脚本不工作?

<form action='addResult.php' method='post' enctype='multipart/form-data' target='results_iFrame' onsubmit='startUpload();'> 
Entry: <input type='text' id='entry' /> 
Stop: <input type='text' id='stop' /> 
Final: <input type='text' id='final' /> 
Chart: <input type='file' id='chart' /> 
<input type='submit' value='Add' /></form> 

正如你可以看到,它调用“addResult.php”内嵌框架“results_iFrame”内。 Javascript只是用于动画目的,并告诉我什么时候完成。 addResult.php中有这个代码(与处理其它输入一起):

$upload_dir = "../img/"; 
$chart_loc = $upload_dir.basename($_FILES['chart']['name']); 

move_uploaded_file($_FILES['chart']['tmp_name'], $chart_loc); 

print_r($_FILES); 

它使用的形式“图表”输入,并试图将其上传。我有print_r()函数来显示$ _FILES上的一些信息,但数组是空的,从而导致失败。我可能做错了什么?

回答

3

在处理表单时,name=用于引用服务器端项,而不是id=

只需将所有那些id属性更改为names s,并且您可以很好地去(希望)。

+0

“只要改变所有这些名称属性标识” - 其他方式,肯定? :) – glomad 2011-02-28 23:23:43

+0

哎呦,再次自相矛盾;) – Blender 2011-02-28 23:25:48

+0

啊,当然 - 总是很简单。我已经从发送信息转换为使用ID而不是名称的Javascript函数。谢谢! – Turner 2011-02-28 23:36:23

1

你必须给你的输入元素name属性或他们不传递给你的脚本。 id用于DOM /浏览器/客户端使用。

解决此问题后可能会出现另一个问题,但这是一个很好的第一步。

0

尝试添加name属性的输入值,如下所示:

<input type='file' id='chart' name="myfile"/> 
0

你输入没有“name”属性,只有编号。

0

你需要给你的表单字段名称属性