0

私の作成ページでは、1 つ以上のファイル アップロード テキスト ボックス、選択ボックス、フォーム内のテキスト ボックスを使用しています。すべてのフォーム データを入力して送信した後、サーバーの検証を行い、db に挿入します... db に挿入する前に、サーバーの検証に失敗すると、入力されたデータが失われます 、データの損失を防ぐ簡単な方法はありますか?

選択およびテキストボックスの場合、値を渡すことができます$_POST

しかし、ファイル アップロード テキスト ボックスの場合、データの損失を防ぐにはどうすればよいでしょうか? セッションに保存できますか?

前もって感謝します..

4

3 に答える 3

1

いくつかの変数を使用してデータを保存し、検証を実行できます

さて、私はphp検証の例を挙げています

<?php
  if(isset($_POST['submit'])){
    $name = $_POST['name'];  //
    // and some other data input
    and goes the validation part

?>

<form ... >
<input type="text" name="name" value="<?php if(isset($name)) echo $name; ?>"
</form>

まあ..これはうまくいくはずです..他のより良い方法を見つけるかもしれません..しかし、これもうまくいきます

于 2012-07-03T09:46:33.910 に答える
1

私の知る限り、他のフォーム要素のようにファイルのアップロード値を維持することはできません。

それでも $_FILES 値を維持したい場合。セッションで受講できます。

$_SESSION['imagename'] = $_FILES['image']['name'];
$_SESSION['imagetmp']  = $_FILES['image']['tmp_name'];
于 2012-07-03T10:36:03.980 に答える
0

type="file" 入力フィールドを除いて、データを変数に保存し、後で入力することができます。ファイルが事前に入力されている (またはユーザーの許可なしに選択されていると言う) 可能性があり、ブラウザーがそれを許可しない場合、セキュリティ上の問題が発生します。

1 つのオプションは、ファイルをサーバーの任意の一時フォルダーに保存し、検証が正常に機能した場合は、それをアップロード ディレクトリに移動することです。

もう 1 つのオプションは、フォームをステップ (ページ単位) で表示し、最後のステップでファイル アップロード オプションを表示して、すべての検証後にユーザーがファイル アップロード セクションに到達し、最後のステップでファイル アップロードの検証を実行できるようにすることです。

于 2012-07-03T11:31:06.417 に答える