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

ケン gautyo @ aioros.ocn.ne.jp
2003年 11月 27日 (木) 17:49:36 JST


仲村様

この度はお返事遅れまして申し訳ございません
服部と申します。

> >  よくテキストフィールドの”HIDDEN”属性で値を持ちまわるという記述を見ま
すが
> > PHPではフォームの値は変数で受け取れるので
> > この値を画面が切り替わっても変わっても
> > 保持し続ければ壁が越えられると思うのですが・・
>  私の理解ではそれを実現する方法を、セッションといいます。

すいません相変わらずの勉強不足で
基本的なところから知識がぬけておりました:汗

>  このマニュアルは、新しい方法と古い方法が両方説明されていて
> かなり混乱しました。$_SESSION と、session_register()を併用して訳わからん事
に...
>  新しい方法と古い方法の併記ではなく、上半分で 新しい方法(session_start,
> $_SESSIONを使う方法)下側で session_register() を使う方法と
> 別々に説明する事はできないでしょうか。

このことも大変参考になりました

手元の書籍では
<?
session_start()
session_register("変数名");

といった形になってましたので
なるほどこうやってやるのか?と思っておりました

何かPHPの過去のバージョンで使える使えないという事があるようですね?
知りませんでした(-.-;)

> 1ページ目に飛ぶ前の画面で session_start(); $_SESSION['page']=1;
> 1〜5ページ目で〜

のソースも具体的に示していただきとても参考になりました
今後頂いたヒントを元に勉強を続けて行きたいと思います

ご助言いただきありがとうございました。

-------------------------------------
服部 憲一

 mail gautyo @ aioros.ocn.ne.jp
-------------------------------------



----- Original Message ----- 
From: "NAKAMURA Takeshi" <1yen @ sh.rim.or.jp>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Tuesday, November 25, 2003 3:38 PM
Subject: [PHP-users 19084] Re: 複数のフォーム(ページ)間でデーターを引き継
ぐには?


> 仲村といいます
>
> On Tue, 25 Nov 2003 14:27:32 +0900,
>  "ケン" <gautyo @ aioros.ocn.ne.jp> wrote:
> >> 自分なら仮テーブルを作成しそこに保存。
> >> 最終確認ページにて本テーブルへデータ移行。
> >> で対応します。
>
> > これはデータベースを使ってのことでしょうか
> > 今回特にデータベースは使う事は無く
> > 最終的にはCSVに出力をする予定ですが
> > やはりこのデータ量では難しいでしょうか?
> > 各ページのデータも一度テンポラリファイルなどを作り
> > 読み込んだ方が堅いのでしょうか?
>
>  PHPのセッション機能はデフォルトでテンポラリファイルを作成
> (設定次第でデータベースへデータを格納も可能) そのセッション内であれば
> 自動的に変数へ展開してくれます。
>  なので、
> 1ページ目に飛ぶ前の画面で session_start(); $_SESSION['page']=1;
> 1〜5ページ目で
>
> session_start();
> if (!isset($_SESSION['page'])) {
>   echo "タイムアウトしました。頑張って最初から入力し直しましょう。";
>   トップページへリンク
> }
> if ($_SESSION['page'] == ページ) {
>   ++$_SESSION['page'];
> }else{
>   変なところからリンクされたときの処理
>   exit;
> }
>
> として、php.ini の session.gc_probability を 100 に
> すれば大丈夫ではないかと。
> (アクセスの多い所では負荷が高くなるので、別の方法をおすすめします。)
>  *.php.het の日本語マニュアルが読めないようなので...
>  http://www.1x1.jp/php/manual/ref.session.html
>
>
> >  よくテキストフィールドの”HIDDEN”属性で値を持ちまわるという記述を見ま
すが
> > PHPではフォームの値は変数で受け取れるので
> > この値を画面が切り替わっても変わっても
> > 保持し続ければ壁が越えられると思うのですが・・
>  私の理解ではそれを実現する方法を、セッションといいます。
>  session_start() して、 $_SESSION['名前'] に変数を代入すると
> 変数を持ち回ることができる。
>  セッションを終わるときに session_destroy() で、セッション終了の印を付けて
おく。
>
>  印を付けておくと PHPスクリプトが呼ばれるたびに session.gc_probability の
確率で
> セッションのデータを消してくれる。(消されるまでは、データが残っているので
> 直リンを打たれるとデータが丸見えになります...セッションハイジャック?)
>
>
> > まだまだいろいろと勉強しなてはなりません(;^_^A
>  わたしも勉強しなくちゃいけないけません。
>  このマニュアルは、新しい方法と古い方法が両方説明されていて
> かなり混乱しました。$_SESSION と、session_register()を併用して訳わからん事
に...
>  新しい方法と古い方法の併記ではなく、上半分で 新しい方法(session_start,
> $_SESSIONを使う方法)下側で session_register() を使う方法と
> 別々に説明する事はできないでしょうか。移行する人は併記でも良いと
> 思うのですが、始めての人には読みにくいと思います > 英語マニュアルを書いた
人...ってここで言っても仕方ないけど
> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----
+
>  関西沖縄青年の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
>  仲村 武 <1yen @ sh.rim.or.jp>
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>




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