1

SQLデータベースにクエリを実行するためのページがあります。その唯一の目的は、学生が運動できるようにすることです。生徒のアクティビティに応じて、ページは新しいコンテンツで自分自身を書き換え、生徒がクエリを入力したり、結果のテーブルを表示したり、エラーメッセージを表示したりできるようにします。

すべてが同じページにデータを投稿するフォームを介して機能しています。

ただし、生徒が戻るボタンまたは進むボタン(戻るボタンを押した後)を使用すると、$ _ POST変数のコンテンツをクレンジングして新しいアクションの準備をするときに、データが失われます。

ただし、必要なデータをPOSTすることで前のページを復元するためにデータを組み立てる、「戻る」ボタンがあります。ブラウザーの戻るボタンを押したときに、アセンブルされたデータを投稿するフォームを実際に送信するために、javascript、html5、PHPなどの何らかの手法を使用することは可能ですか?

私はHTML5、PHP 5、およびいくつかのJavaScriptを使用しています(JQueryではありませんが、オプションがあれば...)

4

2 に答える 2

2

ユーザーがフォーム全体に入力しないか、ブラウザを閉じないと、ブラウザを閉じてデータを送信せず、フォームに入力しないとデータが失われるため、html5ストレージを使用できます。

HTML5ストレージを確認するには

 function supports_html5_storage() {
          try {
            return 'localStorage' in window && window['localStorage'] !== null;
          } catch (e) {
            return false;
          }
        }

onkeyupを使用して

  $("#title").keyup(function(){

            var articel_title =  $("#title").val();
            localStorage.setItem("articel_title",articel_title);
             localStorage.getItem("articel_title");
        });

次回ユーザーがフォームを開いたときに、保存されているコンテンツを表示するだけです

使用をクリアする

localStorage.removeItem("articel_title");
于 2012-11-20T10:45:17.877 に答える
2

コメントで示唆されているように、セッションに投稿データを保存できます。たとえば、新しいクエリが投稿されるたびに、次のように追加できます。

$_SESSION['queries'][] = $_POST;

次に、ユーザーが何らかの形式のループを使用してこれを前後に移動できるようにすることができます。

<ul>
<?php foreach($_SESSION['queries'] as $k => $v) : ?>
    <li>Some link structure</li>
<?php endforeach; ?>
</ul>
于 2012-11-20T10:46:51.857 に答える