0

ちょっと厄介な問題があります。method = "post"を使用して次のコードを送信し、$ _ POST変数を探すと、コードはそれを認識しません。method = "get"に切り替えて、$ _ GET変数を探すと、正常に機能します。Getは使いたくない。助言がありますか?最終的なコードには他の入力も含まれますが、ファイル入力はオプションにする必要があります。したがって、ファイル入力が実際に送信された場合にのみコードを処理する必要があります。ご協力いただきありがとうございます!

 //form.html.php
<form action="index.php" method="post" enctype="multipart/form-data">
<label id="upload">Select file to upload:
<input type="file" id="upload" name="foobar" /></label>
<input type="submit" value="Submit" />
</form>

//index.php
if(isset($_POST['foobar']))
{
//some code
}

ただし、これは正常に機能します

//form.html.php
<form action="index.php" method="get" enctype="multipart/form-data">
<label id="upload">Select file to upload:
<input type="file" id="upload" name="foobar" /></label>
<input type="submit" value="Submit" />
</form>

//index.php
if(isset($_GET['foobar']))
{
//some code
}
4

2 に答える 2

6

ファイルを取得するには、を使用してください。メソッド$_FILESを使用する必要があります。post

于 2012-05-31T15:56:16.937 に答える
1

ファイルをアップロードしていて、「ファイル」タイプの入力以外の入力はありません。したがって、$_POST値は$_FILES配列に送信されません。また、フォームにはmethod="post"を設定する必要があります。

このコードをチェックしてください

echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
于 2012-05-31T15:57:21.473 に答える