今、PHPでフォームプログラムを作っているのですが、入力ミスなどが会った場合に、また、入力画面を見させるのですが、その際に、valueで初期値を入れているのですが、<input type=file>だけはvalueを入れても無理なため、どうしようもありません。


皆さんはどうしてますでしょうか??

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/11/24 00:39:43
  • 終了:2006/12/01 00:40:02

回答(3件)

id:ito-yu No.1

ito-yu回答回数323ベストアンサー獲得回数142006/11/24 10:32:13

ポイント10pt

<input type="file">には初期値は入れられません。

しかし、POSTされた段階でファイル自体はサーバにアップロードされているでしょうから、そのファイルを適切に処理して

-----

今アップされているファイルはこれ

他のファイルをアップしたい場合は再度アップロードしてね

-----

というインターフェースにすれば良いと思います。

http://www.php.net/manual/ja/features.file-upload.php#features.f...

あるいは、エラーが有る場合はそもそもPOSTさせない方がスマートでしょうか。Javascriptで、<form onSubmit="~">で入力値をチェックして、エラーがあればreturn false;することでPOSTさせないこともできます。とはいえJavascript OFFの環境で使えない方法ですので、汎用的とは言えません。

id:monkey_punch No.2

小社長回答回数44ベストアンサー獲得回数52006/11/24 01:53:30

ポイント10pt

実現不可能です。

fileはセキュリティー上、デフォルト値の入力が不可になっています。

もしやろうとするのであれば、送信時にtmpフォルダに仮アップロードしておいて、hiddenか何かにそのパスを持たせるなど、別の方法を取る必要があります。

http://q.hatena.ne.jp

id:Iwa No.3

Iwa回答回数120ベストアンサー獲得回数62006/11/24 01:43:32

ポイント10pt

ファイル用の欄は、初期値を設定できるとユーザーの意図しないファイルを勝手に送信させる(JavaScriptで自動的にSubmit)ことができてしまいます。

これではセキュリティ上大問題なのでできないようになっています。

なので、こればっかりは再度ユーザーに手動で入力をお願いするしか方法はないですね。

(どうしてますかもなにも再入力しか方法がないので)

http://q.hatena.ne.jp/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません