2013-02-20 126 views
0

似乎有很多人問這個問題,沒有得到答案。 在檢查表單的文件上傳部分是否已被填充時是否存在問題? 是因爲它是一個全局變量而且是全部設置的?PHP文件上傳isset失敗

即時通訊存在的問題是檢查文件輸入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 

} 
?> 
+0

我以前有這個同樣的問題。這是因爲我正在檢查ID屬性而不是NAME屬性。見大佬的答案。 – 2013-03-06 09:07:41

回答

1

我發現答案一直在尋找最後。 一個巨大的感謝You衛生組織答案this question對我幫助很大:

我是有這個問題,如果你檢查,看看是否在表單字段isset它總是被設置一次提交按鈕被按下。

如果像我一樣,你想檢查是否有什麼事情已經真正進入到領域,那麼我會說你需要做一個if(!空)檢查。

如果將enctype =「multipart/form-data」添加到表單中,則此文件類型字段將停止工作。

請再次看到我下面的例子,由於You

<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 }?> 
1

因爲你使用「知情同意」而不是「userfile的」。是發佈關鍵字值的html名稱,而不是id。

應該userfile沒有userfile[],除非你有一個多輸入表格

P.S我沒有看到大量的這種類型的懸而未決的問題。

+0

我見過一些這樣的....我試了幾個例子,但coulnt得到它的工作。例如:'code'if(isset($ _POST ['userfile'])){echo「pic filled in」;}'code' – 2013-02-20 23:14:59

+0

沒有理由說上述不行,請舉個完整的例子 – 2013-02-20 23:16:57