2010-11-29 4 views
2

状況を確認してください: 3ページにまたがるフォームがあります。 (ページA、ページB、ページC)。 ユーザーは、Aから始まり、ページB Iがセッションにフォームの結果を送信するために、上記の使用複数のページにまたがるPHPフォームは、ユーザーが後ろ向きに移動する場合に事前に入力する必要があります

foreach($_POST as $key => $val){ 
    $_SESSION[$key] = $val; 
    } 

に行きフォームのクリックボタンを記入します。ユーザーはページBを入力してクリックするとページCに進むか、クリックするとページAに戻ることができます。ユーザーがAに戻ると、すべてのフィールドに値が入力されます。

  $Email = $_GET['preview'] ? $_SESSION['Email'] : $_POST['Email']; 

これらのうちのいくつかは、フォームに事前入力します。

ここに問題があります。ユーザーがA - > B - > Cに行き、Bに戻ろうとすると、Aのすべてのセッション変数が失われます。そして、明らかにユーザーは、Aのフィールドにデータを持っています。

すべてのヘルプは素晴らしいでしょう。

答えて

1

brouwserが

if($_SERVER['REQUEST_METHOD'] == 'POST') { 
    header('Location: '.$_SERVER['REQUEST_URI']); 
} 

を再投稿しないように歴史

で移動するときに、これは(日付のうちのページを)ポストデータを再送についての質問を停止し、POST後にリダイレクトを行います
関連する問題