これはブラウザに関連している可能性があります。通常、ブラウザは戻ったときにフォームのデータを保持します。ただし、別のフォームを送信すると、そのデータは失われます。唯一の方法は、毎回両方のフォームを送信するか、javascript を使用してデータを php セッションに保持することです。
たとえば、jquery を使用すると、入力が変更されるたびに、AJAX を使用してフォーム全体が PHP セッションに送信されます。フォームをロードするときは、セッションのグローバル変数から値をロードします。
$('#myform input').change(function(){
var formdata = $('form#myform').serialize();
$.ajax({
type: "POST",
url: "process.php",
data: formdata
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
});
そしてphp側で:
$_SESSION['form_cache']['form_name'] = parse_str($_POST['data']);
次に、フォームをロードすると
<?php
$test = isset($_SESSION['form_cache']['form_name']['test']) ? $_SESSION['form_cache']['form_name']['test'] : '';
?>
<input type="text" name="test" value="<?=$test?>" />