[PHP-users 19070]複数のフォーム(ページ)間でデーターを引き継ぐには?

ケン gautyo @ aioros.ocn.ne.jp
2003年 11月 25日 (火) 13:16:32 JST


はじめまして服部と申します
実は壁に当たってしまいまして
何かヒントをいただければと思っております。

現在9ページほどの入力フォーム
(各ページ150〜216ほどのテキストフィールドがあります:涙)
があり、「次へ」の送信ボタンで次のフォームへ移動し
最後の9ページ目で内容の一覧を表示し、誤りがあれば
任意のページへ戻る様に作らなければなりません。

当初各ページを一枚ずつのページに分割してそのつど
送信ボタンで飛ばしていたのですが
やはり途中のページに直リンクされると具合が悪く

一つのページの中で

【一画面目表示】

(HTMLのヘッドの部分)
<form name="sample" method="post" action="<? $myname ?>">
<!--上までは共通で使いまわし、下から各画面分岐-->

<? if($page_fla==false or $page_fla==1 ){ ?>
      <INPUT TYPE="HIDDEN" NAME="page_fla" VALUE="2">

〜〜〜〜〜

【ニ画面目】
<? } else if($page_fla==2){?>
      <INPUT TYPE="HIDDEN" NAME="page_fla" VALUE="3">


画面の切り替えは次のページに分岐する為の値を「$page_fla」フラグに渡し
そのページの送信ボタンを押して次に進んでいます。
また各入力欄は多いので

 <? for ($i=0;$i<12;++$i){ ?>
<TD BGCOLOR="#FFFFFF">
<INPUT TYPE="TEXT" NAME="hoge1[<? $i ?>]" VALUE="<? echo "$hoge1[$i]" ?>">
</TD> <? } ?>
・
・

と言う風に書き出しています


で、問題なのはデーターが次のフォームまでしか持って行けていない点です。
例えば全9ページの一部に
<?=hoge1[0]?>
の記述を行い

一画面目でテキストフィールド「hoge1[0]」に値を入力し
二画面目に進むと
テキストフィールドに入力した値を表示してくれます

ですがそのまま続けて次のページ(三ページ)へ
移動しても何も表示しません

と言う事は値を持っていけてないか
新しくnullのような値が入っているかと思うのですが・・

よくテキストフィールドの”HIDDEN”属性で値を持ちまわるという記述を見ますが
PHPではフォームの値は変数で受け取れるので
この値を画面が切り替わっても変わっても
保持し続ければ壁が越えられると思うのですが・・

またセッションと言うものもよく聞くのですが
でこのような1500個近いテキストフィールドの情報を
覚えておけるのでしょうか?
やはり変数なり配列なりに入力内容を格納し
画面を閉じるまで値が保存できればほぼ解決なのですが・・。

HTMLはなじみがあるのですがプログラミング経験がほとんどなく
おそらく技術的にはとても簡単な事だとは思うのですが
今まで自分なりに四苦八苦してきましたがどうも煮詰まってしまい
何かヒントをいただければと思っております
何卒よろしくお願いいたします

-------------------------------------
服部 憲一
 mail gautyo @ aioros.ocn.ne.jp
-------------------------------------





PHP-users メーリングリストの案内