【问题标题】:Php gives undefined index error while file upload文件上传时php给出未定义的索引错误
【发布时间】:2015-09-29 12:45:16
【问题描述】:

我搜索了互联网,但找不到解决问题的方法。我有一个表格,当我只提交文本字段时没有问题。但是当我添加文件输入并提交表单时,我得到未定义的索引错误。

HTML 代码

    <form method="post" action="add.php" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SIZE" value="10485760">
        <input type="text" name="topic" style="width:300px;" value="cars" />        
        <input type="file" name="file1" id="file1" />
        <input type="submit" name="submit" value="Add"/>
    </form> 

PHP 代码

if(isset($_POST['submit']))
{
    // Form
}
else echo'NOOO';

此代码在上传文件时总是给出 NOOO。我已经控制了 php.ini 并且上传已开启。

【问题讨论】:

  • 您是否在表单标签中添加了enctype="multipart/form-data"??
  • 请发布完整的 HTML 表单
  • 您是否将if(isset($_POST['submit'])) 代码添加到add.php?因为,您的表单是在那里提交的。
  • 您需要使用$_FILES 来获取任何文件请求。但是,您设置它的方式。它应该工作。你到底有什么问题?

标签: php file upload


【解决方案1】:

并非每个浏览器都会发送提交按钮值

你应该检查你的真实输入值

if(isset($_POST['topic']))
{
    // Form
}
else echo'NOOO';

如果您想检查您的文件是否已附加

使用

$_FILE['file1'] 

而不是 $_POST

【讨论】:

  • 您应该指出不发送“提交”值的浏览器,以便我们进行测试
  • 我的浏览器是 Microsoft Edge。它与 Chrome 相同的错误。 if(isset($_POST['submit'])) 仅在使用文本字段时有效,但在添加文件字段后无效。
  • 你说的是什么意思...但添加文件字段后不起作用。" ?
  • 当您使用不同的浏览器时会出现同样的错误吗?
  • 编辑您的初始问题并包含您的所有代码,因为它显然是您没有告诉我们或向我们展示的其他内容。
猜你喜欢
  • 2014-05-24
  • 2011-07-13
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多