我有一个问题,验证字段是否已填满

时间:2014-05-19 00:42:19

标签: php

我有一个表单,我正在尝试验证用户是否填写了所有字段:

if(in_array('',$f) || empty($_FILES['thumb']['tmp_name']))
 {
   echo '<span>Please fill all fields!</span>';
 }

一切都运转正常,当我没有填写一个字段时,我收到了警告信息。

但是现在我在表单上引入一个新的“输入文件”,插入PDF,我也在验证中输入了这个字段:

if(in_array('',$f) || empty($_FILES['thumb']['tmp_name']) || empty($_FILES['pdf']['tmp_name'])

现在,拇指和其他表单字段工作正常,当我不填写时,我收到警告消息,但是我的pdf字段,当我不填写此字段时,我从未收到提醒信息

我在这里有表格:

<form name="form" action="" method="post" enctype="multipart/form-data"> 

       <label class="line">
            <span>Image:</span>
            <input type="file" class="fileinput" name="thumb"/>
        </label>   

        <label class="line">
            <span>Title:</span>
            <input type="text" name="title" value="" />
        </label>

        <label class="line">
            <span>Pdfs<input type="file"  name="pdf[]" size="60" multiple="multiple"  accept="application/pdf"/></span>
        </label> 

        <input type="submit" value="Submit" name="sendForm" />

 </form>

1 个答案:

答案 0 :(得分:1)

您传递的数组“pdf []”与“thumb”相比。你可以检查这个数组[0]的第一个元素:

if(in_array('',$f) || empty($_FILES['thumb']['tmp_name']) || empty($_FILES['pdf'][0]['tmp_name']))

包含'tmp_name'的数组元素($_FILES['pdf'][0]$_FILES['pdf'][1]等)。


我的错误,数组是另一种方式$_FILES['pdf']['tmp_name'][0]