0

私は一連の調査を次々と行っています。ある調査の後、バックスペースを押して前の調査に戻り、新しい情報を追加して再送信する人もいるようです。どうすればこれを止めることができますか? ある種の Javascript スクリプトが必要だと仮定しています。

私はこれを見つけまし た 現在のフォームから戻るためのバックスペースの防止

しかし、誰かが意図的にそれを行っている場合、それは役に立たないようです。

4

3 に答える 3

5

戻るボタンを壊さないでください。これはブラウザのHCI ルールに違反しています。

これを適切に行うには、実施する調査の各インスタンスに一意の ID を割り当てる必要があります。次に、調査が開始されたときに、ID が以前に提出されていないことを確認します。

于 2013-03-15T15:49:25.523 に答える
0

サーバー上の調査でユーザーの進行状況を追跡していると思います(Cookieを介して)。ユーザーが調査のページ N に進んでいて、ページ N-1 に戻って回答を変更してほしくない場合は、ユーザーが N- にアクセスしようとしても、ページ N を表示することができます。 1ページ。これにより、ユーザーが戻るボタンを押してN-1ページに戻ることができます(バックスペースボタンをブロックしてもユーザーはできることです)

于 2013-03-15T15:54:42.780 に答える
0

$_SESSION を作成し、各フォームが完成するたびにそれを更新することで、PHP でそれを行う方法を確認できます。

各ページの冒頭で、セッションが正しい調査と相関していることを確認してください。

例を挙げてみます。

先頭ページ

$_SESSION['status'] = 1;  // allowed to view survey 1
if($_SESSION['status'] != 1){
 header('Location: /page' . $_SESSION['status'] . '.php');
 exit();
}

// your survey
// clicks submit
// goes to 2nd page

.... 2ページ目(2回目のアンケート)

$_SESSION['status'] = 2; // updates the status to show is on the 2nd page
if($_SESSION['status'] != 2){
     header('Location: /page' . $_SESSION['status'] . '.php');
     exit();
    }


// your survey
// clicks submit
// goes to 3rd page.. etc
于 2013-03-15T15:55:19.097 に答える