0

似乎有很多人问这个问题并没有得到答案。检查表单的文件上传部分是否已填写是否存在问题?这是因为它是一个全局变量并且总是设置的吗?

我遇到的问题是检查文件输入 ytpe 是否已填写。

下面的代码显示了检查文件字段是否由用户填写的各种示例。

当它被填写时,他们都没有发现:

<?php
if (isset($_POST['add'])) 
{

//if (!isset($_POST['pic'])) { echo"pic not filled in";}else{echo"pic filled in";}

if (!isset($_POST['pic'])) { echo"pic not filled in";}
if (isset($_POST['pic']))  { echo"pic filled in";}//end of check to see if picture     has been filled in

//if (!isset($_POST['userfile[]'])) { echo"pic not filled in";}
//if (isset($_POST['userfile[]']))  { echo"pic filled in";}//end of check to see if   picture has been filled in

//$pictureName = $_REQUEST['pic'];
//if ($pictureName == ''){echo"pic is blank";}
//else{echo"pic is NOT blank";}

//if ($_POST['pic'] == ""){echo"pic is blank";}
//else {echo"pic is NOT blank";}
}

else 
{

 /////////render form
?>
<form enctype="multipart/form-data" action="" method="post" id="save"><fieldset>
<input type="text" name="fileName" id="fileName" value=""/>
<input type="file" name="userfile[]" id="pic" />
<input name="add" id="save_button" type="submit" value="Update"/>
</fieldset></form>
<?php

}
?>
4

2 回答 2

1

因为你使用'pic'而不是'userfile'。是使 post 键值的 html 名称,而不是 id。

除非你有一个多输入表单,否则它应该userfile不是 userfile[]

PS 我没有看到大量此类未回答的问题。

于 2013-02-20T22:51:43.477 回答
1

我终于找到了我一直在寻找的答案。非常感谢您对这个问题的回答对我有很大帮助:

我遇到的问题是,如果您检查表单中的字段是否为 isset,一旦按下提交按钮,它将始终被设置。

如果像我一样,您想检查是否确实在该字段中输入了某些内容,那么我会说您需要进行 if(!empty) 检查。

如果将 enctype="multipart/form-data" 添加到表单中,这将对文件类型字段停止工作。

请看下面我的例子,再次感谢

<h1>test</h1>
    <p>check to see if a field in a form as been filled in:</p>
    <?php
    if (isset($_POST['info'])) {
      // do some stuff
      echo"info isset. it will always be set when you click the submit button</br>"; 

      if(!empty($_POST['info'])){ echo"info has been filled in</br>";}else{ echo"info is still empty</br>";}

      if(!empty($_POST['filename'])){ echo"filename has been filled in</br>";}else{ echo"filename is still empty</br>";}

    }
    else
    {
    ?>
    <form method="post">
    <input type="text" name="info" /></br>
    <input type="file" name="filename" /></br>
    <input type="submit" />
    </form>
    <?php }?>
于 2013-03-06T09:01:25.730 回答