0

重複した質問を投稿しないことを願っていますが、私は周りを見回しました(そしてグーグルも!)そして何も私が探している答えを私に与えませんでした。

HTMLのフォームがあります。ユーザーがフォームを送信すると、値はサイトのユーザーアカウントでmysqlに保存されます。

問題は、ユーザーがいつでも戻ってフォームを編集できるようにすることです。

ユーザーがフォームを確認するときにphpの値をフォームに入力することはできますが、ファイル入力フィールドに入力しようとすると注意が必要になります(ファイルはblobタイプを使用してmysqlに保存されています)。言うまでもなく、これをできるだけきれいにしたいと思います。

理想的には、JQuery自体ですでに送信されているフォームをレビューするための便利なモジュールがあればいいのにと思います。

誰かアドバイスはありますか?前もって感謝します!

編集:これは私が意味することの良い例です-フォームに入力して送信を押した後に次のページにリダイレクトする場合はクロムで、戻った場合はフォームに戻り、以前に入力した情報がまだ入力されています!!ユーザーが反撃したときだけではなく、いつでもこの動作を呼び出すことができますか?

4

3 に答える 3

1

を事前にファイリングすることはできません<input type="file" 。。しかし、確かに彼らがフォームに戻ったとき、彼らはアップロードしたファイルを見たいと思っています..これはあなたが正しい意味です..

したがって、その写真の場合は、次のことを行うことができます。<img src="loadpic.php?id=$var" />

彼らがアップロードしたファイルの場合は、ファイル名/日付やその他のデータなどを何らかのリストにリストするだけです。

その後、..を表示することもでき<input type="file">ますが、「写真を追加」または「別のファイルを追加」というラベルを付けます。。等

于 2013-01-29T18:40:08.163 に答える
0

誰かがより良い方法を持っていない限り、現時点では私は2つのものの組み合わせを使用しています:

1)$ _SESSION変数を利用します。2)フォーム内のすべての入力の「name」属性をデータベース内の対応するフィールドの名前に設定します。

このようにして、すべての値をハードコーディングするのではなく、動的にループすることができます。一部の入力タイプ(ファイルなど)は例外的であり、独自に処理されます。私がこのようなことをすることができる他のもの:

mysqlに挿入するには:

$fields = array();
$values = array();
foreach ($_POST as $field => $value) {
    $fields[] = $field;
    $values[] = addslashes($value);
}

$fieldString = 'Table_Name('.implode(', ', $aFields).')';
$valueString = "VALUES('".implode("', '", $aValues)."')";
mysql_query("INSERT INTO $fieldString $valueString");

フォームの確認は多少似ています。javascriptを使用してdocument.onloadにフックしています。フォームに入力できるように、mysqlからのレコードをjavascriptに渡す必要があります。次に、要素を名前で取得し、phpから渡された値を割り当てるだけです。

于 2013-01-29T21:31:59.620 に答える
-1

データベースに戻る必要がなく、それを行う最も簡単な方法は、セッションに値を格納することです。

<?php $_SESSION['myvalue'] = $inputvalue; ?> 

htmlフォームで使用:

<input type="text" name="myName" value="<?php echo $_SESSION['inputvalue']; ?>" />

完了したら、セッション変数の設定を解除することを忘れないでください。

<?php session_start(); unset($_SESSION['myvalue']); ?> 
于 2013-01-29T18:47:47.897 に答える