人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP プログラム 入力 入力ミス
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ito-yu

<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の環境で使えない方法ですので、汎用的とは言えません。


2 ● 小社長

実現不可能です。

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

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

http://q.hatena.ne.jp


3 ● Iwa

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ