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

私はついに探していた答えを見つけました。この質問への回答が私を大いに助けてくれたあなたに大いに感謝します:

私が抱えていた問題は、フォームのフィールドが設定されているかどうかを確認すると、送信ボタンが押されると常に設定されることでした。

私のように、何かが実際にフィールドに入力されているかどうかを確認したい場合は、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 に答える
1

「userfile」ではなく「pic」を使用しているためです。id ではなく、投稿キーの値を作成する html 名です。

複数入力フォームがuserfileない 限り、そうすべきではありませんuserfile[]

PS この種の未回答の質問は多くありません。

于 2013-02-20T22:51:43.477 に答える