- 締切済み
POSTされない
xamppにてローカル環境でやっているのですがなぜか type="file"だけPOSTされません。 ie6とfairefox3で試しましたが取得できませんでした。 調べてみたのですが同様の事例が見つからずわからかったのですが これは何が原因なのでしょうか? ---html--- <form action="index.php" method="post" enctype="multipart/form-data"> <input type="text" name="name" /> <input type="file" name="img" /> <input type="submit" name="send" value="送信する" /> </form> ---php--- if (isset($_POST['send'])) { echo '<pre>'; print_r($_POST); echo '</pre>'; } print_r($_FILES);を試すと正常に値が表示されます。全く意味不明 なのですが何かセキュリティ上の問題などが原因なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- php504
- ベストアンサー率42% (926/2160)
$up_img = $_FILES['userfile']['name']; $_POST['up_img'] = $up_img; $_POST['up_img']が未定義なら問題はないですが変数を2回も入れ直すのは意味がないというか無駄ではないでしょうか $_POSTにしないといけない理由があるのでしょうか
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 …とりあえず http://www.php.net/manual/ja/features.file-upload.php あたりを熟読してください。 これは、単純に「PHPというものがそのように設計/実装されているから」です。
お礼
お返事ありがとうございます。 >これは、単純に「PHPというものがそのように設計/実装されているから」です。 これを基にマニュアルを確認し思ったのですが単純に $up_img = $_FILES['userfile']['name']; と定義し $_POST['up_img'] = $up_img; と値を入れてやれば問題ないという解釈でいいのでしょうか?
お礼
お返事ありがとうございます。 >$_POST['up_img']が未定義なら問題はないですが変数を2回も入れ直すのは意味がないというか無駄ではないでしょうか 確かにいま考えると $_POST['up_img'] = $_FILES['userfile']['name']; で済みますね。^^; postについての理由ですが通常でpostされなかった事を初めて知り どうすればできるのかちょっとした興味で試してみました。