2

我有一个基本的用户名和密码表单,它还允许您使用它上传图像。有一个创建按钮,它将用户带到uploader.php,它既上传图像又将用户名和密码输入数据库。

在表单标签内:

<form enctype="multipart/form-data" method="POST" action="uploader.php?uploader=avatar&username=< ?php echo $_POST['username']; ?>" >

问题:

用户名不会发布,也不会发布任何其他帖子。所有字段都在表单内。我检查了PHP 文件上传表单不能提交 POST 变量?并在 php.ini post_max_size = 8M,upload_max_filesize = 2M

4

4 回答 4

4

用于<input type="hidden"/>发布username和其他信息。

<form enctype="multipart/form-data" method="POST" action="uploader.php">
    <input type="hidden" name="uploader" value="avatar"/>
    <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
    ...
</form>

示例.php

<form enctype="multipart/form-data" method="POST" action="uploader.php">
  <br/>Username : <input type="text" name="username"/>
  <br/>Password : <input type="password" name="password"/>
    <input type="hidden" name="uploader" value="avatar"/>
   <br/>File : <input type="file" name="file"/>
   <br/><input type="submit"/>
</form>

上传者.php

<?php
  print_r($_POST)  // debug  $_POST
  print_r($_FILES) // file

  //OR
  echo $_POST["username"];
  $file=$_FILES["file"];
  print_r(file);
?>
于 2012-08-21T03:05:19.240 回答
1

听起来您想提交用户名和密码在一次提交中上传文件。

如果这是您想要的,则需要以下内容:

<form enctype="multipart/form-data" method="POST" action="uploader.php">
<input type="text" name="username" value="" />
<input type="password" name="password" value="" />
<input type="file" name="uploaded" />
...
</form> 

用户名和密码将在 中可用,$_POST[]文件将在$_FILES[].

于 2012-08-21T03:24:53.457 回答
1

当我尝试上传的文件大于 PHP 接受的最大文件大小时,我遇到了这个问题。看着:

ini_get('post_max_size')

ini_get('upload_max_filesize')

看看你的文件是否太大。我的解决方案是使用 empty($_POST) 来确定文件是否太大(或发生其他一些发布问题)并抛出异常。

于 2017-05-05T15:51:03.553 回答
-1

奇怪的是我遇到了同样的问题,直到我添加了 enctype="multipart/form-data" 属性.. 之后,一切正常

于 2019-07-04T09:49:18.347 回答